hibernate的saveOrUpdate方法,什么意思

qad 2009-07-04 11:17:18
saveOrUpdate方法,怎么知道要做save操作还是update操作?
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qad 2009-07-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 qad 的帖子:]
saveOrUpdate方法,怎么知道要做save操作还是update操作?
[/Quote]

我的意思是,我调用了saveOrUpdate方法,我怎么知道它执行的是save还是update,程序怎么判断?
sangshusen_1988 2009-07-04
  • 打赏
  • 举报
回复
通过对业务主键的判断
sangshusen_1988 2009-07-04
  • 打赏
  • 举报
回复
那建议你别这样用了,换成2个方法就好了,save update.
或者是,还是这样用,但是你得多加一个标示字段,比如叫isSave.
是保存的时候,传过来一个true,更新的时候传一个false.
if(isSave){//..是保存}
qad 2009-07-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sangshusen_1988 的回复:]
根据打印出来sql语句,另外根据你的主键值进行判断
不知道你究竟想干什么?如果是更新和保存都是用这个方法的话,
保存的时候提交的数据肯定没主键值,这个时候就保存。
更新肯定把主键也一起提交过来了,这个时候就更新
[/Quote]

有些是新数据,没有主键,
有些是旧数据,有主键

我都用saveOrUpdate方法,如果执行的是save,然后就跳转到a.jsp
如果是执行的update就跳转到b.jsp

涉及到不同的跳转页面,所以我想知道程序是执行了save还是update
sangshusen_1988 2009-07-04
  • 打赏
  • 举报
回复
根据打印出来sql语句,另外根据你的主键值进行判断
不知道你究竟想干什么?如果是更新和保存都是用这个方法的话,
保存的时候提交的数据肯定没主键值,这个时候就保存。
更新肯定把主键也一起提交过来了,这个时候就更新
yuzi13631138780 2009-07-04
  • 打赏
  • 举报
回复
hibernate配置文件里面把有个 <property name="hibernate.show_sql">true</property>不就可以知道你执行insert,还是update,程序就根据你要持久的对象的id属性(通常是对应表的主键这)来判读.

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧