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