hibernate一对多双向和多对一双向是一样的。
这个在代码中的表现有点意思,在多的一方设置多方的属性,在一的那方设置多的属性,也就是在user中设置group属性,在group中设置user的集合。
最后在配置文件中需要注意点的就是:
user.hbm.xml:
group.hbm.xml:
以上两个配置文件中的group那个引用建最好是一样的,此处是groupId,当然如果设置不同也不会出错,但是会出现冗余字段,导致在_user中出现两个引用group的字段。
不过好像在annotation中有比较好的解决办法。只需要用一个注解就可以搞定!
这个在代码中的表现有点意思,在多的一方设置多方的属性,在一的那方设置多的属性,也就是在user中设置group属性,在group中设置user的集合。
最后在配置文件中需要注意点的就是:
user.hbm.xml:
<class name="User" table="_user">
<id name="id">
<generator class="native"/>
</id>
<property name="useName"/>
<property name="date"/>
<many-to-one name="Group" column="groupId"/>
</class>
group.hbm.xml:
<class name="Group" table="_group">
<id name="id">
<generator class="native"/>
</id>
<property name="address"/>
<set name="users">
<key column="groupId"></key>
<one-to-many class="com.anryn.User"/>
</set>
</class>
以上两个配置文件中的group那个引用建最好是一样的,此处是groupId,当然如果设置不同也不会出错,但是会出现冗余字段,导致在_user中出现两个引用group的字段。
不过好像在annotation中有比较好的解决办法。只需要用一个注解就可以搞定!