hibernate+saveorupdate
答:【答案】:如果对象在该session中已经被持久化,不进行操作;对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用 save()方法保存它;如果session中的另一个对象有相同的标识符抛出一个异常; 以上皆不符合则调用 update()更新之。Session.load/get方法均可以根据指定的实体类和...
答:所有这三个方法,也就是save()、saveOrUpdate()和persist()都是用于将对象保存到数据库中的方法,但其中有些细微的差别。例如,save()只能INSERT记录,但是saveOrUpdate()可以进行记录的INSERT和UPDATE。还有,save()的返回值是一个Serializable对象,而persist()方法返回值为void。save与saveOrUpdate的...
答:saveOrUpdate()会根据所给对象的id不同,来选择使用save或者update:如果对象id为null,就执行save;如果对象id从来没有persistent过,也执行save,如果对象是persistent对象的一个新的verison,那么也save,除了上面的情况其他都执行update;load()方法在你想load的对象不存在时,会throw exception,而get方...
答:回答:save()在数据库中生成一条记录,如果数据库中有,会报错说有重复的记录。 update()就是更新数据库中的记录 主键在saveorupdate()方法中是起着关键作用的,只有这个主键的值不为空的时候才进行insert还是update的判断,否则直接insert若主键不为空,就可以进行saveorupdate()操作了。 saveOrUpdate.
答:new了一个新对象执行saveOrUpdate时,如果new的对象的主键在数据库中没有对应的就会抛出异常,这句话是错的,new的对象的主键在数据库中没有,就会保存到数据库 所以说,saveOrUpdate会自动判断这个对象在数据库中有没有,有的话就更新,没有的话就保存 ...
答:update()就是更新数据库中的记录主键在saveorupdate()方法中是起着关键作用的,只有这个主键的值不为空的时候才进行insert还是update的判断,否则直接insert若主键不为空,就可以进行saveorupdate()操作了。save是返回插入数据的主见的,而saveOrUpdate是voidsave方法更适用于确定了是要插入,而且需要得到...
答:这种错误一般可能是将同一实体类的不同对象进行了操作,就会报违反唯一性约束的错误,然而对于这种错误的另一种解决方案:1、使用session.clear()方法先将session清空 2、再用session.update(Object obj)来进行操作
答:说白了:merge()用法替代了hibernate早期版本的saveOrUpdateCopy,因此该方法的作用只是将当前对象信息保存到数据库,并且不会将对象转换成持久化状态。merge 和saveOrUpdate不一样,当session中某持久化对象有id相同的两个纪录时,必须用merge,merge会在保存之前来合并记录,不然会报错。合并记录后的动作...
答:1:Hibernate 的get和load方法的区别 当查询的数据不存在时表现不一样:load:延迟检索 get:立即检索 1:load返回的是代理对象,等到要用该对象时,才会发sql语句从数据库取, 当数据库没有对应的记录时会报错 2:get 直接从数据库加载,不会延迟加载,当数据库没有对应的记录时返回null.2:save 和...
答:saveorupdate()如果传入的对象在数据库中有就做update操作,如果没有就做save操作。save()在数据库中生成一条记录,如果数据库中有,会报错说有重复的记录。hibernate中get方法和load方法的根本区别 如果你使用load方法,hibernate认为该id对应的对象(数据库记录)在数据库中是一定存在的,所以它可以放心...
网友评论:
魏曼15244644993:
关于hibernate中save的用法 -
38340糜敬
: 在配置文件中的set中写一个cascade=save-update 在代码中要先双向通知一下:如:A是一,B是多:a.setB(集合),b.setA(A的对象)就可以了
魏曼15244644993:
Hibernate中save方法是如何得来的
38340糜敬
: save()方法是hibernate的session 接口中的一个方法,要想使用这个方法,就必须得到一个session得实例.
魏曼15244644993:
Hibernate中save方法是如何得来的 -
38340糜敬
: 你是指电脑的休眠功能,对吧?休眠,在广义上包括挂起到内存(STR,也就是待机)和挂起到硬盘(Suspend to Disk,简称STD)两种,而我们通常所指的休眠其实是STD.当电脑进入休眠状态时,电脑首先将内存中的状态复制到硬盘,然...
魏曼15244644993:
hibernate中save 和update -
38340糜敬
: save的时候主键是采用hibernatge自身的主键策略去生成主键,而update的时候需要先去判断主键是否存在或者重复,如果重复就会报异常,所以最好先get出来,在把需要修改的字段替换掉后保存
魏曼15244644993:
oracle 执行hibernate的save方法! -
38340糜敬
: 在session.save()方法下面调用session.flush();
魏曼15244644993:
hibernate的saveorupdate()、save()、update()都有什么区别? -
38340糜敬
: saveorupdate()如果传入的对象在数据库中有就做update操作,如果没有就做save操作.save()在数据库中生成一条记录,如果数据库中有,会报错说有重复的记录.update()就是更新数据库中的记录
魏曼15244644993:
怎样用hibernate7个步骤向数据库里写入数据save方法
38340糜敬
: 先定义数据类型,然后定义数据入口,接着是输入, 保存,校验,等等
魏曼15244644993:
hibernate中的save方法疑问... -
38340糜敬
: 这种情况是这样的.修改这个对象的时候.要先把这个对象查出来,然后在表单那里写成隐藏的,在页面上不显示的.然后跟着表单提交过去就行了.这样是最好的.你也可以在页面提交的时候先通过 ID查询一下要修改的对象.对象取出后,再用页面提交的对象覆盖一下,当然要是不为空的才覆盖,也可以 .推荐第一种方法.
魏曼15244644993:
Hibernate 的Session 中的save()方法和persist()方法有什么区别 -
38340糜敬
: save()和 persist()方法区别:使用 save() 方法保存持久化对象时,该方法返回该持久化对象的标识属性值(即对应记录的主键值);使用 persist() 方法来保存持久化对象时,该方法没有任何返回值.因为 save() 方法需要立即返回...
魏曼15244644993:
Hibernate中添加Save()怎样判定是否添加成功 -
38340糜敬
: save()方法是有返回值的 , 你判断返回对象是不是null就行了 , 返回null就是没保存成功 .