Hibernate:如何获取juts引用的实体?

时间:2014-10-09 15:58:46

标签: java hibernate

我想从Hibernate中检索一个对象纯粹是为了阅读它的值。我应该怎么做呢?

get()+ evict()+ flush()?

主要是我想检查一个值是否已经改变:

Foo foo = getModifiedFoo();
Foo oldFoo = session.get(Foo.class, foo.getId());
if (foo.getBar() != oldFoo.getBar()) {
    throw YouAFooException();
}
session.saveOrUpdate(foo);

我猜这会给我一个"对象已经在会话"某种例外,所以我想知道我应该怎么做。

1 个答案:

答案 0 :(得分:2)

使用merge(),它将分离的实体的状态复制到其附加的对应实体,而不是像saveOrUpdate()那样附加分离的实体。