Tôi có một đối tượng có nhiều mối quan hệ @onetomany và tôi cần truy vấn các thuộc tính trong cha mẹ cũng như các thuộc tính của trẻ. Tôi dường như không thể hoàn thành nó.Hibernate HQL Truy vấn để nhận cha mẹ + con cái dựa trên childID
Ví dụ, tôi cần một truy vấn cho phép tôi xem các đối tượng gốc nơi tên của cha mẹ là "John" và màu yêu thích của trẻ là màu xanh lam. Hy vọng rằng có ý nghĩa. Lý do cho các biến chứng dường như là trẻ em trong một danh sách, không phải trong một mối quan hệ @onetoone.
PARENT:
@Entity
@Table(name="Parent")
public class Parent {
@Id
@Column(name="ID")
@GeneratedValue(strategy=GenerationType.AUTO, generator="parent_gen")
@SequenceGenerator(name="parent_gen", sequenceName="PARENT_SEQUENCE")
private int parentID;
@Column(name="name")
private String name;
@OneToMany(cascade=CascadeType.ALL)
@OrderBy("name ASC")
@JoinTable(name = "parent_to_child")
private List<Child> childList;
// and so forth
Child
@Entity
@Table(name="Child")
public class Child{
@Id
@Column(name="ID")
@GeneratedValue(strategy=GenerationType.AUTO, generator="child_gen")
@SequenceGenerator(name="child_gen", sequenceName="CHILD_SEQUENCE")
private int childID;
@Column(name="favoriteColor")
private String favoriteColor;
// and so forth
này dường như để lấy kết quả như 2 đối tượng riêng biệt, cha mẹ trong [0] và trẻ em trong [1]. Điều này có thể làm việc, nhưng tôi nghĩ rằng nó sẽ chỉ trả lại các đối tượng "thực sự"? Tôi cần phải tìm ra cách để lấy cha mẹ và con ra khỏi đối tượng chung chung họ được trả về như ... Tôi nhận được ở đó! – Jorge
@ user1454878 Một mệnh đề chọn là cần thiết cho điều đó. Tôi sẽ chỉnh sửa câu trả lời. – Pablo
Điều này vẫn hiển thị mọi đối tượng con trong danh sách cho dù favoritesColor có màu xanh dương, đỏ hay trắng. Nó có bình thường không? Nó không phải là chỉ để hiển thị các đối tượng con mà favoriceColor là màu xanh? – Eniss