Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate:如何获取用于突出引用目的的实体?_Java_Hibernate - Fatal编程技术网

Java Hibernate:如何获取用于突出引用目的的实体?

Java Hibernate:如何获取用于突出引用目的的实体?,java,hibernate,Java,Hibernate,我想从Hibernate中检索一个对象,纯粹是为了读取它的值。我该怎么做呢 获取()+逐出()+刷新() 我主要想检查值是否已更改: Foo foo = getModifiedFoo(); Foo oldFoo = session.get(Foo.class, foo.getId()); if (foo.getBar() != oldFoo.getBar()) { throw YouAFooException(); } session.saveOrUpdate(foo); 我猜这会给我

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

获取()+逐出()+刷新()

我主要想检查值是否已更改:

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

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

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

如果在对象上使用版本属性,则可以避免这样做。