Hibernate一对多单向关联,从父级中选择子级?

时间:2012-05-31 13:39:08

标签: hibernate

我遇到了Hibernate一对多单向关联的问题。

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”使用一对多单向关联。

如何用他的名字,生日和父母ID信息选择合适的孩子?

最好的问候 谢谢!

1 个答案:

答案 0 :(得分:3)

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

在优秀的Hibernate documentation中阅读HQL。