2
Учитывая следующий тип иерархия:JPA/Hibernate Query на полиморфного поле
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
class A { }
@Entity
class B extends A {
String b;
}
@Entity
class C extends A {
String c;
}
@Entity
class D {
@ManyToOne
A a;
}
Теперь я хотел бы запросить все записи типа D с «а» типа C и «с» поля равна заданной строки параметр:
...
Root<D> root
CriteriaBuilder cb
cb.equal(root.get("a").get("c").as(String.class), "Test");
...
в обозримом будущем, я получаю исключение говорит мне, что атрибут «с» неизвестно, так как он не определен в супертип А.
Любые идеи, как сказать JPA Query, что это должен только j oin C для поля 'a' в D И добавить условие к полю 'c'?