欢迎来到天天文库
浏览记录
ID:1248267
大小:241.50 KB
页数:30页
时间:2017-11-09
《hibernate关系映射实验指导》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hibernate关系映射Hibernate关联关系映射【实验目标】完成本章的内容以后,您将达到:uHibernate中实体的三种状态以及它们的特点和状态的转换u学会manyToOne、oneToMany、manyToMany的关系映射。u掌握用关系映射操纵关系及要注意的问题Hibernate关系映射·第一阶段——练习测试对象的三种状态(transient、persistence、detach)及转换:(ora.sql经过调整,在里面创建了四个sequencefwxx_seq,user_seq,jd_seq,qx_seq需要在映射文件FwUser.hbm.xml中调整如下配置,重
2、新指定sequence为user_seq:user_seq)1、建立测试类HibObjectState(带main方法),首选在main方法中实现添加用户小花的功能,代码如下:(注意注释)packagecom.bu3g.hib.test;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg
3、.hibernate.Transaction;importorg.hibernate.cfg.Configuration;importcom.bu3g.entity.FwUser;importcom.bu3g.hib.sessionfactory.HibernateSessionFactory;publicclassHiObjectState{/***@paramargs*/publicstaticvoidmain(String[]args){//TODO自动生成方法存根Hibernate关系映射Sessionses=HibernateSessionFactory.getSess
4、ion();Transactiontx=null;try{tx=ses.beginTransaction();//transientFwUseruser=newFwUser();user.setUname("xiaohua");user.setUpass("123");//userispersistenceses.save(user);user.setUpass("555");//持久对象的变化会同步到数据库的对应的记录tx.commit();ses.close();}catch(Exceptione){tx.rollback();}}}运行程序(对象经历两个状态:瞬时状态和持久
5、状态),观察:控制台输出两个sql,分别为:insert(save()方法产生),update语句(在事务提交时,为同步持久对象的修改到数据库而产生的).在pl/sql中查询:select*fromtbl_userwhereuname=’xiaohua’比较它的密码是123,还是5551、继续在main方法中添加如下代码(红色部分:)publicstaticvoidmain(String[]args){Sessionses=HibernateSessionFactory.getSession();Transactiontx=null;try{tx=ses.beginTransac
6、tion();//transientFwUseruser=newFwUser();user.setUname("xiaohua");user.setUpass("123");Hibernate关系映射//userispersistenceses.save(user);user.setUpass("555");//持久对象的变化会同步到数据库的对应的记录tx.commit();ses.close();//userisdetachuser.setUpass("888");//游离对象不会与数据库同步}catch(Exceptione){tx.rollback();}}在数据库中查询:
7、select*fromtbl_userwhereuname=’xiaohua’看看密码是否为555,如不是想想为什么?1、在main中继续加入代码(红色部分):publicstaticvoidmain(String[]args){//TODO自动生成方法存根Sessionses=HibernateSessionFactory.getSession();Transactiontx=null;try{tx=ses.beginTransaction();//transientFwUse
此文档下载收益归作者所有