Мне нужна помощь с наследованием в JPA
Я проиллюстрирую мою проблему на примере:
Предположим, у нас есть класс Animal и класс Cat.
@Entity
@Table(name = "animal")
@DiscriminatorColumn(name="animal_type",columnDefinition="Integer",length=11)
public class Animal implements Serializable{
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
@Column(name = "animal_id", nullable = false)
private Long id;
...
}
@Entity
@Table(name = "cat")
@DiscriminatorValue("1")
@AttributeOverride(name="id",column=@Column(name="cat_id"))
public class Cat extends Animal {
...
}
Как показывает пример, я хочу использовать другое имя для моего столбца id в таблице cat
Но затем, когда я пытаюсь выполнить полиморфный запрос, запрашивающий все экземпляры Animal, я получаю ошибку Это похоже на то, что запрос не может обрабатывать разные имена полей в соответствии с экземпляром животного.
Я правильно делаю?
Заранее спасибо.