文档详情

hibernate注解处理映射关系.pdf

发布:2017-06-21约1.27万字共14页下载文档
文本预览下载声明
hibernate 注解处理映射关系 在 hibernate 中,通常配置对象关系映射关系有两种,一种是基于xml 的方式,另一种是基于 annotation 的注解方式, 熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式以后,发现使用 annotation 的方式 可以更简介,所以这里就简单记录下通过 annotation 来配置各种映射关系,在 hibernate4 以后已经将 annotation 的jar 包集成进来了,如果使用 hibernate3 的版本就需要引入 annotation 的jar 包。 一、单对象操作 @Entity 如果我们当前这个 bean 要设置成实体对象,就需要加上 Entity 这个注解 @Table(name=t_user) 设置数据库的表名 public class User { private int id; private String username; private String password; private Date born; private Date registerDate; @Column(name=register_date) Column 中的 name 属性对应了数据库的该字段名字,里面还有其他 属性,例如 length ,nullable 等等 public Date getRegisterDate() { return registerDate; } public void setRegisterDate(Date registerDate) { this.registerDate = registerDate; } @Id 定义为数据库的主键 ID (建议不要在属性上引入注解,因为属性是 private 的,如果引入注解会破 坏其封装特性,所以建议在 getter 方法上加入注解) @GeneratedValue ID 的生成策略为自动生成 public int getId() { return id; } public void setId(int id) { this.id = id; } 1 / 14 } 最后只需要在 hibernate.cfg.xml 文件里面将该实体类加进去即可: !-- 基于 annotation 的配置 -- mapping class=com.bjpowernode.bean.User/ !-- 基于 hbm.xml 配置文件 -- mapping resource=com/bjpowernode/bean/User.hbm.xml/ 这样我们就可以写测试类来进行我们的 CRUD 操作了。 二、一对多的映射(one-to-many) 这里我们定义了两个实体类,一个是 ClassRoom ,一个是Student ,这两者是一对多的关联关系。 ClassRoom 类: @Entity @Table(name=t_classroom) public class ClassRoom { private int id; private String className; private SetStudent students; public ClassRoom() { students = new HashSetStudent(); } public void addStudent(Student student) { students.add(student); } @Id @G
显示全部
相似文档