У меня есть родительская сущность и два ребенка
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Point {
@Id
@Column(name = "id")
private long id;
private int x;
private int y;
}
@Entity
@Table(name = "point_a")
public class PointA extends Point {
}
@Entity
@Table(name = "point_b")
public class PointB extends Point {
}
У меня также есть объект, содержащий список точек.
@Entity
@Table(name = "data")
public class Data {
private long id;
@OneToMany
private List<Point> points;
}
Этот пример упрощен, так что ничто не отвлекает от сути вопроса.
Как мне написать запрос, используя EntityManager для извлечения данных, чтобы внутри списка были точки типа PointA?
entityManager.createQuery("select d from Data d join d.points...")
Я вижу это примерно так, но я не понимаю, как сказать hibernate использовать данные из таблицы 'point_a'.