以下为例,一个用户对就一个部门,一个部门则对应有多个用户
1、实体类
一方类:user
public class User {
private int id;
private String name;
private int age;
private String pwd;
private Department dpt; //该属性与部门建立关系
………….set、get方法略
}
多方:Department
public class Department {
private int id;
private String name;
private Set<User> users = new HashSet<User>(); //该属性与用户建立关系
………….set、get方法略
}
2、映射配置文件
User.hbm.xml
<hibernate-mapping>
<class name="com.restfullDemo.model.User" table="t_user">
<id name="id" type="int">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="name" />
</property>
<property name="age" type="int">
<column name="age" />
</property>
<property name="pwd" type="java.lang.String">
<column name="pwd" />
</property>
<many-to-one name="dpt" class="com.restfullDemo.model.Department" fetch="join" lazy="false">
<column name="dpt_id" />
</many-to-one>
</class>
注意:当使用 hql语句“from User”进行查询,并将结果转成List时,需要将 lazy=”false”即为即时加载,默认为懒加载,则在转换时找不到Departmet的数据,会报类型转换错误。
Department.hbm.xml
<hibernate-mapping>
<class name="com.restfullDemo.model.Department" table="t_department">
<id name="id" type="int">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<set name="users" table="user" inverse="false" lazy="false">
<key>
<column name="id" />
</key>
<one-to-many class="com.restfullDemo.model.User" />
</set>
</class>
</hibernate-mapping>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71225.html