1

Hibernate の 1 対多の一方向関連付けに問題があります。

class Parent{
  int id;
  set <Child> children;
}

class Child{
  int id;
  int name;
  int birthday;
}

Parent.hbm.xml

<hibernate-mapping>
 <class name="Parent" table="parent"/>
 <id name="id" column="id_parent"/>
 <set name="children" inverse="false" cascade="all">
   <key column="id_parent"/>
   <one-to-many class="Child"/>
 </set>

</hibernate-mapping>

Child.hbm.xml

<hibernate-mapping>
     <class name="Child" table="parent"/>
     <id name="id" column="id_child"/>
     <property = "birthday"/>    
     <property="name"/>
    </hibernate-mapping>

マッピング ファイルでは、inverse="false" を設定して、1 対多の一方向関連付けを使用します。

名前、誕生日、親の ID 情報から適切な子供を選択するにはどうすればよいですか?

よろしくお願いします!

4

1 に答える 1

3
select child from Parent p inner join p.children child
where p.id = :parentId and child.name = :name and child.birthday = :birthday

優れたHibernateドキュメントのHQLを読んでください。

于 2012-05-31T17:40:56.273 に答える