hibernate Session的几个简单方法
来源:互联网 发布:手游源码出售 编辑:程序博客网 时间:2024/05/22 21:47
News news1=new News("DD", "dd");session.persist(news1);
flush()方法
//flush()方法:使数据库中的记录和Session中的记录保持一致,为了保持一致可能会发送对应的sql语句
//Transaction.comit()方法中 会先执行Session.flush(),再提交事务
//**注意: 在未提交事务或者未使用flush()方法时,也有可能会进行flush()方法
//1)执行HQL或者QBC查询时,会先进行flush()方法。
save()方法
//save()方法使一个临时对象转换为持久化对象,执行insert操作
//为对象分配ID
//在flush缓存时发出一天insert语句
//持久化对象的id不可修改.使用映射文件指定的方法生成ID;
Persit() 同save()方法,执行insert操作
当id不为零时,save会以一个新的id保存到数据库,persit()则会抛出异常
<span style="font-size:18px;"> News news=new news(1,"title","test"); session.save(news);</span>
get() load()
Get和Load方法 持久化对象转为临时对象(就是从数据库中获得对象)
执行Get方法会立即执行查询操作加载对象
Load方法不会立即执行查询操作,返回一个代理对象。当使用时再进行查询。
若数据表中没有对应数据,get返回一个空的对象,load抛出异常
Load方法,在初始化代理对象之前就关闭Session
会抛出异常LazyInitialazytionException
@Testpublic void testGet(){News news=(News)session.get(News.class, 5);System.out.println(news);}@Testpublic void testLoad(){News news=(News)session.load(News.class, 5);System.out.println(news.getClass().getName());}update()
若更新对象在session中,不需要显示的调用update(), commit()方法会自动update;
不在session中时 处于游离状态,需要调用update()方法;
调用update时无论更新的对象是否与数据表里的一致都会执行update操作
----如何避免 在.hbm.xml.配置文件中的 class节点设置select-before-update=true
当update()方法关联一个游离对象时,如果session中已经存在一个相同ID的对象,抛出异常
public void testUpdate(){News news=(News)session.get(News.class, 5);news.setAuthor("123");session.clear();System.out.println("123");session.update(news);}
1 0
- hibernate Session的几个简单方法
- Hibernate中Session的几个方法的简单说明
- Hibernate中Session的几个方法介绍
- Hibernate中Session的几个方法
- hibernate session的方法
- session的几个主要方法
- session的几个主要方法
- Session的几个主要方法
- Session的几个主要方法
- Hibernate Session的delete()方法
- Hibernate Session的save()方法
- Hibernate Session的delete方法
- Hibernate session的方法全集
- Hibernate Session的saveOrUpdate()方法
- Hibernate Session的save()方法
- Hibernate Session的save()方法
- Hibernate session的方法全集
- Hibernate session的方法全集
- iphone数据存储之-- Core Data的使用(一)
- oracle4之PLSQL工具
- Android 零碎知识——获取手机的信息
- JAVA多线程之(join)
- Missing Number
- hibernate Session的几个简单方法
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- 提高软件质量实践――Google 篇
- Android数据库高手秘籍(七)——体验LitePal的查询艺术
- 2016 Winter Training Day #1_C题_hdoj 1009(贪心)
- autosys 基本命令
- bash通配符与其他特殊符号-55
- 织梦dedecms图片按月存放怎么实现?代码分享
- Mindjet MindManager汉化教程