Hibernate注解.ppt

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

Hibernate 注解 Hibernate注解 不用hbm文件 维护起来也简单,灵活性较高 适应需求变化作出快速变动 Hibernate注解配置 在hibernate.cfg.xml中注册注解类: mapping class=com.lovo.bean.ProductBean/ 编写测试类: Configuration config = new Configuration().configure(); ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry(); SessionFactory factory = config .buildSessionFactory(serviceRegistry); Session session = factory.openSession(); session.beginTransaction(); ProductBean bean = new ProductBean(张三,12,898797); session.save(bean); session.getTransaction().commit(); session.close(); 实例演示 Hibernate 注解一对一(外键关联) 从表方配置: public class WifeBean { @OneToOne @JoinColumn(name=husbandId,unique=true) private HusbandBean husband; } name=husbandId 指明从表外键列名 unique=true 为唯一约束,表示唯一外键关联 Hibernate 注解一对一(外键关联) 主表方配置: public class HusbandBean { @OneToOne(mappedBy=husband) private WifeBean wife; } mappedBy=husband 关联从表对象中的关联对象属性名。同时指明只有添加从表对象时,才添加外键列。相当于inverse=true Hibernate 注解一对多 一方配置: @OneToMany( fetch=FetchType.EAGER, targetEntity=HouseBean.class, cascade=CascadeType.ALL, mappedBy=person) @JoinColumn(name=personId) private Set houses = new HashSet(); fetch=FetchType.EAGER 指定是否延迟加载,值为FetchType.LAZY表示延迟,为FetchType.EAGER表示立即加载 targetEntity=HouseBean.class集合中存放元素类型 mappedBy=husband 关联从表对象中的关联对象属性名。同时指明只有添加从表对象时,才添加外键列。相当于inverse=true cascade=CascadeType.ALL为级联操作 @JoinColumn(name=personId)指明从表中的外键列名 Hibernate注解一对多 多方配置: @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name=personId) private Person person; @JoinColumn(name=personId)指明从表中的外键列名 Hibernate注解一对多。默认采用多方维护外键方式。相当于在一方set标签加入了 inverse=true。 Hibernate注解多对多 多方配置: @ManyToMany(fetch=FetchType.LAZY, targetEntity=TeacherBean.class) @JoinTable(name=t_stu_tea, joinColumns={@JoinColumn(name=studentId)}, inverseJoinColumns={ @JoinColumn(name=teacherId)}) private Set teacherSet; name=t_stu_tea,指明中间表名 joinColumns={@JoinColumn(name=studentId)当前对象对应中间表的外键列名 inverseJoinColumns={

文档评论(0)

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

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

1亿VIP精品文档

相关文档