当前位置: 代码迷 >> Web前端 >> get() load() persist() 等步骤的区别
  详细解决方案

get() load() persist() 等步骤的区别

热度:478   发布时间:2012-08-24 10:00:21.0
get() load() persist() 等方法的区别
Session的几个主要方法
1.save,persist保存数据,persist在事务外不会产生insert语句。
save()方法和persist()方法在没有开启事务情况下save()会先向数据库中插入一条数据,然后回滚事务删除该数据 .persist()方法则不会向数据库中插入数据而是抛出异常
2.delete,删除对象
3.update,更新对象,如果数据库中没有记录,会出现异常。对象处于脱管状态使用
4.get,根据ID查,会立刻访问数据库。类似JPA中的find()方法
5.Load,根据ID查,(返回的是代理,不会立即访问数据库)。和JPA中的getReference()方法类似得到代理对象
6.saveOrUpdate,merge(根据ID和version的值来确定是save或update),调用merge你的对象是脱管的。使用这个方法数据库中要有ID字段
7.lock(把对象变成持久对象,但不会同步对象的状态)。
           8.merge()是把处于游离状态对象同步到数据库中
  相关解决方案