在Hibernate中saveOrUpdate()方法在执行的时候,先会去session中去找存不存在指定的字段,如果存在直接update,否则save,这个时候问题就发生了。
有两张表,表A和表B,这两张表的主键都是一样的,例如都是MASTER_ID,同时对应的BO里面属性都是masterID,现在要执行的操作是,以MASTER_ID为条件将表A中的数据查询出来,然后将部分值插入到表B中,然后再更新表B,在查询表A后,session中已经存在masterID了,这个时候再去对表B进行savaOrUpdate的时候,Hibernate会发现session中已经存在masterID了,所以执行的就是update,但是实际上表B中根本不存在masterID这个值,当你执行完查询数据库的时候会发现没有插入数据,像这种情况,就得先用masterID对表B进行查询,当返回的BO为NULL时,new一个新BO然后再进行插入,这个时候用到的就是createbo了。
Hibernate中saveOrUpdate()使用时要注意的问题
原创
©著作权归作者所有:来自51CTO博客作者cunyan的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Apache安装基本过程
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
使用zabbix镜像直接导入使用时提示mysql目录空间不足
使用zabbix镜像直接导入虚拟化使用时,会提示mysql分区空间不足,针对此目录扩容操作测试。
mysql zabbix zabbix6.2 -
Spring+Hibernate的saveOrUpdate问题Spring Hibernate DAO UI SQL
-
javascript在使用时要注意的东西
1.方法名与所要操纵的对象名不能同名例如:<input id="test" onclick="test()" value="测试"/> <script> function test(){} <
职场 JavaScript 休闲 javascript在使用时要注意的东西 -
hibernate 缓存中要注意的地方
1 hibernate 中的缓存问题 A 一级缓存和session的生命周期一样的,在比如 S
hibernate session query cache list -
(转)hibernate中的的save,saveorupdate
在Hibernate中,最核心的概念就是对PO的状态管理。一个PO有三种状态: 1、
hibernate session 数据库 dao reference