如果我使用 ex.merge(obj),现在如果在对象 obj 中我将主键设置为数据库中不存在的值,它会创建新记录还是会抛出异常?
例如
if obj with pk val = 19 doesnot exist in database,and i set
obj.setPk(20);
obj.setName("nm");
em.merge(obj) // will this throw an exception or create a new record?`enter code here`
最佳答案
它将创建一个新记录:
如果实体已经在持久性上下文( session )中,则不采取任何操作,级联除外
如果实体被分离,则返回一个副本(对象'),它被附加(管理)
如果实体是临时的(新实例),则保存它并返回持久(和托管)副本
关于java - 合并仅用于创建或更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3853813/