- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 模板来自于 / * * * * * * * * 13.1.5 双向一对一映射(基于主键) * 实现admin_detail和admin双向一对一关联映射步骤: 将项目hibernate-5复制并命名为“hibernate-6”,导入。 修改映射文件Admin.hbm.xml和AdminDetail.hbm.xml。 在映射文件Admin.hbm.xml中,先修改generator元素,再删除原先的many-to-one元素,并配置one-to-one元素 在映射文件文件AdminDetail.hbm.xml中,只需修改one-to-one元素。 添加数据,执行测试类HibernateTest中的testO2OSave()方法,查看数据表中admin_detail和admin的记录。 依次执行测试类HibernateTest中的testO2OGet_1()、testO2OGet_2()和testO2ODelete()等方法, 13.2 基于Annotation注解实现关联映射 * 13.2.1 双向多对一映射 * 基于Annotation注解实现数据表meal和mealseries双向多对一关联映射的步骤如下: 将项目hibernate-2复制并命名为“hibernate-7”,导入。 在项目hibernate-7中创建Meal.java和Mealseries.java实体类。并基于Annotation注解实现持久化类Meal.java,基于Annotation注解实现持久化类Mealseries.java。 在Hibernate配置文件hibernate.cfg.xml中添加对持久化类Meal和Mealseries类的引用。 将hibernate-3的测试类HibernateTest中testM2OGet、testO2MGet、testM2OAndO2MSave、testM2OAndO2M Update和testM2OAndO2MDelete等测试方法复制到项目hibernate-7中,依次测试这些方法,查看测试效果。 在持久化类Meal中,需要定义一个Mealseries类型的关联属性mealseries,再使用@ManyToOne和@JoinColumn注解实现Meal到MealSeries的多对一关联。@ManyToOne注解的fetch属性可选择项包括:FetchType.EAGER和FetchType.LAZY,前者表示关联类在主类加载的时候同时加载(立即加载),后者表示关联类在被访问时才加载(懒加载或延迟加载),在多对一时默认值是FetchType.EAGER,在一对多时默认值是FetchType.LAZY。@JoinColumn(name=MealSeriesId)指定数据表meal的MealSeriesId字段作为外键与数据表mealseries的主键关联。 在持久化类Mealseries中,需要定义元素类型为Meal的关联集合属性mealSet,再使用@OneToMany注解实现Mealseries到Meal的一对多关联。@OneToMany注解的mappedBy属性作用相当于设置inverse=true,表示将关联关系的主管权反转,即由Meal管理双方的关联关系。mappedBy属性值为关联的多的一方(Meal类)所定义Mealseries类型的属性mealseries。cascade = { CascadeType.REMOVE }指定级联删除。 13.2.2 双向多对多映射 * 基于Annotation注解实现数据表admin和functions之间的双向多对多关联映射,步骤如下: 在项目hibernate-7中,创建实体类Functions.java和Admin.java,并基于Annotation注解实现的持久化类Functions,基于Annotation注解实现的持久化类Admin。 在Hibernate配置文件hibernate.cfg.xml中添加对持久化类Functions和Admin类的引用。 将项目hibernate-4的测试类HibernateTest中testM2MSave、testM2MGet和testM2MDelete 等测试方法复制到项目hibernate-7的测试类HibernateTest中,依次测试这些方法,查看测试效果与hibernate-4相同。 在持久化类Functions中,定义了一个元素类型为Admin的关联集合adminSet,再使用@ManyToMany注解实现Functions到Admin的多对多关联映射。在@ManyToMany注解中,设置属性mappedB
文档评论(0)