Java 在对hibernate持久对象进行更改后,如何获取数据库中的数据

Java 在对hibernate持久对象进行更改后,如何获取数据库中的数据,java,spring,hibernate,Java,Spring,Hibernate,我是hibernate新手,我想在这里得到一些提示 我有一个hibernate持久对象,用户通过UI表单对其进行了一些更改。在将更改提交到DB之前,我需要计算出更改的原始值 我有一个类似下面的方法,打算从数据库中获取原始数据 @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true) private Place getOriginalPlace(long placeid) { return session

我是hibernate新手,我想在这里得到一些提示

我有一个hibernate持久对象,用户通过UI表单对其进行了一些更改。在将更改提交到DB之前,我需要计算出更改的原始值

我有一个类似下面的方法,打算从数据库中获取原始数据

@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true)
private Place getOriginalPlace(long placeid) {
    return sessionFactory.getCurrentSession().get(Place.class, placeid);
}
但为什么我总是通过UI表单获取用户更改的数据呢


有人能给我一些建议吗?

好吧,理想情况下,如果你在更新之前得到了对象,那么你就有了比较的基础。在您展示一些方法的代码在控制器和后续层中被调用之前,很难隔离。我将上面的方法及其调用程序放在同一个类中,它不起作用。然后我把上面的方法转移到另一个类,我得到了预期的数据。如果你的问题解决了,请自己写一个答案,并将其标记为接受。