下载此文档

hibernate多对一、一对多、多对多关联映射....doc


文档分类:IT计算机 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
Hi bernate 多对一单向关联(常用的关联模式) 类图: 表结构: 映射文件: <hibernate-mapping> <class name="" table="t_user"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <!-- <many-to-one name="group" column="groupid" cascade="all"/> --> <many-to-one name="group" column="groupid"/> </class> </hibernate-mapping> <hibernate-mapping> <class name="" table="t_group"> <id name="id"> <generator class="native"/> </id> <property name="name"/> </class> </hibernate-mapping> hibernate 多对一关联映射关联映射的本质: * 将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用<many-to-one> 会在多的一端加入一个外键, 指向一的一端, 这个外键是由<many-to-one> 中的 column 属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致<many-to-one> 标签的定义示例: * <many-to-one name="group" column="groupid"/> 理解级联 cascade 的含义? * 是对象的连锁操作(对增、删、改起作用) 相关测试: public void testSave1() { Session session = null ; try { session = HibernateUtils. getSession (); (); Group group = new Group(); ( " 尚学堂" ); User user1 = new User(); ( "菜 10" ); user1. setGroup (group); User user2 = new User(); ( " 容祖儿" ); (group); // 不能成功保存,抛出 TransientObjectException 异常// 因为 Group 为 Tran sient 状态, oid 没有分配值//persistent 状态的对象是不能引用 transient 状态的对象的 (user1); (user2); ().commit(); } catch (Exception e) { (); ().rollback(); } finally { HibernateUtils. closeSession (session); }} public void testSave2() { Session session = null ; try { session = HibernateUtils. getSession (); (); Group group = new Group(); ( " 尚学堂" ); (group); User user1 = new User(); ( "菜 10" ); (group); User user2 = new User(); ( " 容祖儿" ); (group); // 可以正确存储 (user1); (user2); ().commit(); } catch (Exception e) { (); ().rollback(); } finally { HibernateUtils. closeSess

hibernate多对一、一对多、多对多关联映射... 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2016-08-01