相关疑难解决方法(0)

session.Merge和session.SaveOrUpdate有什么区别?

我有时会注意到我的父/子对象或多对多关系,我需要调用SaveOrUpdate或者Merge.通常,当我需要调用时,我调用SaveOrUpdate的异常Merge与不首先保存的瞬态对象有关.

请解释两者之间的区别.

nhibernate session

86
推荐指数
2
解决办法
9万
查看次数

JPA实体身份和脏检查

这个SO答案

update()方法强制更新到数据库中对象的持久状态,始终调度SQL UPDATE。...在将项目对象传递给update()之前或之后进行修改都没有关系。... Hibernate始终将对象视为脏对象,并计划将在刷新期间执行的SQL UPDATE.。另一方面,merge()首先查询数据库,如果状态未更改,则不执行更新。

我想到一个疑问:
Hibernate(或任何JPA实现)如何判断实体的状态是否已更改,从而需要进行更新操作?
我们应该实现equals或hashcode方法来帮助Hibernate做到这一点吗?如果不实现这些方法怎么办?

java entity hibernate jpa

1
推荐指数
1
解决办法
464
查看次数

标签 统计

entity ×1

hibernate ×1

java ×1

jpa ×1

nhibernate ×1

session ×1