hibernate中的save和saveOrUpdate(单主键情况)

原创 2006年05月25日 15:41:00
在单主键情况,两个方法到底有啥区别:

如果持久对象使用了自增长的单主键(一般情况下也都是这么做)。通常两者没什么区别。

但是如果持久对象使用自己赋值的单主键,那么使用saveOrUpdate就不大合适了。
例如:如果你将一个持久对象的主键赋值了,你本想插入这条记录,但实际上执行的是更新,因为hibernate会认为你的主键存在了,那么它会采用更新。但如果你使用save,那么hibernate直接插入数据。

相关文章推荐

Hibernate 常用更新数据方法(机制)

Hibernate随记之 常用更新数据方法及区别
  • Luvjuin
  • Luvjuin
  • 2017年05月04日 13:29
  • 850

用hibernate的save()方法返回的是新增加数据的主键

/** * 新增字典类型 * @param dType * @return */ @Override public void insertDicType(DictionaryTy...

hibernate-save方法详解

Session的save()方法使一个临时对象转变为持久化对象。 例如以下代码保存一个Customer对象:         Customer customer = new Customer();  ...

Hibernate的SaveOrUpdate方法

Hibernate中Session的saveOrUpdate方法是用来判断被操作对象究竟是一个持久化对象(persistent)还是自由状态(transient)对象,然后根据判断结果执行save或者...
  • wkkyo
  • wkkyo
  • 2016年03月02日 22:58
  • 412

Hibernate的save方法不能进行数据库插入的解决办法

Hibernate的save方法不能进行数据库插入的解决办法

hibernate save和update以及saveOrUpdate区别

save()方法很显然是执行保存操作的,如果是对一个新的刚new出来的对象进行保存,自然要使用这个方法了,数据库中没有这个对象。 update()如果是对一个已经存在的托管对象进行更新那么肯定是要使...

hibernate saveOrupdate操作含有联合主键的对象问题

环境:jdk1.6   框架:SSH 服务器:resin 首先交代下大概业务,实体A(某一行业属性配置)、实体B(行业功能,such as 发送短信的机制)、其中A种使用联合主键; 行...

浅谈hibernate save和saveOrUpdate区别

Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object...

hibernate中 saveorupdate(),save(),update(),merge()你是怎么看待的;

接触到mybatis竟然有把hibernate抛弃的想法。 言归正传,贴图为先。hibernate的三种状态位和切换之间对函数的使用; 总结下saveorupdate(),save(),u...

hibernate的save(),saveOrUpdate(),update(),merge()方法的使用

package com.dada.hibernate; import java.util.Date; import org.hibernate.Query; import org.hib...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate中的save和saveOrUpdate(单主键情况)
举报原因:
原因补充:

(最多只允许输入30个字)