hibernat annotation注解方式来处理映射关系.doc

hibernat annotation注解方式来处理映射关系.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hibernat annotation注解方式来处理映射关系

在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; }   ............ } 最后只需要在hibernate.cfg.xml文件里面将该实体类加进去即可: !-- 基于annotation的配置 -- mapping class=com.xiaoluo.bean.User/ !-- 基于hbm.xml配置文件 -- mapping resource=com/xiaoluo/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 @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } @OneToMany(mappedBy=room)  ---  O

文档评论(0)

yasou511137 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档