我是Hibernate的新手,上周完成了Hibernate教程。我对Session类中的方法save,update,saveOrUpdate和merge有一些疑问。这些是:
它是否正确?如果我们在已经存在的对象上调用保存,则不确定会发生什么?
根据我的理解,它应该会因某些异常而失败,因为根据API更新是针对分离对象的。它是否正确?如果是的话,我们应该在同一会话中调用什么来更新对象(我的意思是如果对象未分离)。另一点是:如果我们调用新创建的对象的更新,将会发生什么?
我理解正确吗?
但是,如果当前没有与该会话相关联的持久实例,则这将从数据存储中加载持久对象,然后在已加载的持久对象中更新分离对象的值,然后对其进行更新。
我也明白了吗?
您在所有评估中都完全正确。你懂了。
对于您的第一个问题,如果我没记错的话,请save
专门进行插入。因此,再次调用save将导致数据库中的另一行。
对于第二个问题,请update
更新会话中的对象。因此,如果对象在会话中,它将进行更新。如果对象不在会话中,则应调用merge。我相信,调用update
分离的实例将导致异常。
我正在学习hibernate和Spring Boot(也是Thymeleaf),遇到了以下问题: 环境:我有一个表单,处理创建和更新数据基于ID参数在GET方法,如果ID等于数据库中的一行,那么更新,否则保存。ID存储在隐藏的输入标记中,并与表单数据一起插入到实体对象中。然后将该对象发送给一个服务,该服务调用DAO来使用saveOrUpdate()方法保存或更新数据。 问题总结:在我的服务中,我有
问题内容: 通常我已经阅读过save()方法为对象生成新标识符,并且仅触发 INSERT 并保存它,它不会更新它,而saveOrUpdate()方法可能会 插入 或 UPDATE 记录。 但是根据我的经验,在这里我可以通过示例代码更好地进行解释, 假设有 A类 ,我觉得从记录 表A 的 所以现在我有了一个持久对象, 现在,我试图通过简单地修改某些字段来使用save方法保存记录, 现在我开除 因此,
我有一个问题,过去几天我一直在网上搜索。我发现有类似问题的人,但世卫组织的解决方案并没有改善我的状况。 最令人恼火的是,我以前一直在使用它,没有任何问题或障碍。 问题是,我在java web应用程序上的会话要么在请求之间被删除,要么一开始就无法正确创建。 一些简单的故障排除: 我可以很好地创建和使用cookie。 每次我刷新或跟踪指向servlet或jsp的链接时,jsesionid都会得到一个新
问题内容: Hibernate有几种方法,它们以一种或另一种方式将您的对象放入数据库。它们之间有什么区别,何时使用它们?为什么不只有一种智能的方法知道何时使用什么? 到目前为止,我已经确定的方法是: 问题答案: 这是我对方法的理解。这些主要基于API,尽管我在实践中并未全部使用。 saveOrUpdate 根据某些检查调用保存或更新。例如,如果不存在标识符,则调用save。否则,将调用更新。 保存
问题内容: 除以下内容外,我们还有其他区别吗?另外请验证以下内容是否正确 每个应用程序一个对象,每个客户端一个对象。 是创建和管理。是为映射的类提供CRUD接口,并提供更多功能。 是线程安全的,而不是线程安全的 问题答案: 首先,询问这些接口之间的区别没有任何意义。好像在问汽车制造厂和汽车之间的区别。制造工厂是生产汽车的地方。同样,是一个将创建对象的实例。
我可以通过以下方法将数据发送到Firebase FiRecovery文档: 1) 添加() 2) set() 我很清楚,如何将数据添加到Firestore中,其中没有任何混淆。但我的问题是,Firebase Firestore中的方法“set”有两个setOption,例如merge和mergefields。这两组选项之间的区别是什么,我认为这两个选项的作用是相同的。如何实现setOption“m