2012-05-31 2 views
1

У меня возникла проблема с объединением однонаправленных объединений Hibernate.Hibernate one-to-many unidirection association, выберите child from parent?

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> 

в файле отображения, я использую один-ко-многим ассоциации путем расположение по одному направлению установки обратного =» ложный".

Как правильно выбрать ребенка с его именем, днем ​​рождения и информацией о родительских идентификаторах?

С наилучшими пожеланиями Thanks!

+0

Как отображается Parent.children? –

+0

Что бы вы хотели сделать именно? Найдите ребенка, у которого есть данный родитель, данное имя и данный день рождения? –

+0

Да, что я имел в виду – lhuang

ответ

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

Читайте на языках HQL в отличном Hibernate documentation.

+0

Где твое определение "c"? "p.children child" – lhuang

+0

К сожалению. Сожалею. Опечатка. Теперь это исправлено. –

Смежные вопросы