私は、いくつかの@onetomany関係を持つオブジェクトを持っています。子のプロパティだけでなく、親のプロパティも照会する必要があります。私はそれを完了するように見えることはできません。Hibernate HQL childIDに基づいて親子を取得するクエリ
たとえば、親の名前が "John"の場合、との子のお気に入りの色が青であるParentオブジェクトを表示するクエリが必要です。希望は意味をなさない。合併症の理由は、子どもがリストにあり、@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
を使用して一方向の関係で親をフェッチ[1]。これはうまくいくかもしれませんが、私はそれが "本当の"オブジェクトを返すと考えましたか?私は返される汎用オブジェクトから親子をフェッチする方法を理解する必要があります...私はそこに着きます! – Jorge
@ user1454878これにはselect節が必要です。私は答えを編集します。 – Pablo
これは、favoriteColorが青、赤または白かどうかに関係なく、リスト内のすべての子オブジェクトを表示します。それは普通ですか?好きな色を青色にしている子オブジェクトだけを表示することになっていませんでしたか? – Eniss