如何防止Spring/Hibernate自动将修改提交到数据库?

如何防止Spring/Hibernate自动将修改提交到数据库?,hibernate,spring,Hibernate,Spring,我在用Spring和Hibernate工作。我有一个使用HibernateTemplate从数据库检索的对象 当我修改这个对象时,Hibernate在数据准备好插入之前插入到数据库中,结果是大量数据库错误,出现了“cannotinsertnull-into…”一行 有没有办法告诉Spring/Hibernate“在我调用HibernateTemplate.persist()之前不要用这个更新数据库?”?我查看了HibernateTemplate javadoc,但找不到任何内容Hibernate

我在用Spring和Hibernate工作。我有一个使用HibernateTemplate从数据库检索的对象

当我修改这个对象时,Hibernate在数据准备好插入之前插入到数据库中,结果是大量数据库错误,出现了“cannotinsertnull-into…”一行


有没有办法告诉Spring/Hibernate“在我调用HibernateTemplate.persist()之前不要用这个更新数据库?”?我查看了HibernateTemplate javadoc,但找不到任何内容

Hibernate正在刷新更改,因为您使用事务范围的持久性上下文。这意味着当事务提交时,所有托管实体都与数据库同步。如果您不喜欢它,那么就不要让您的方法成为事务性方法。这样,您获得的实体将不会与数据库同步-不会有任何事务提交。

Hibernate正在刷新更改,因为您使用的是事务范围的持久性上下文。这意味着当事务提交时,所有托管实体都与数据库同步。如果您不喜欢它,那么就不要让您的方法成为事务性方法。这样,您获得的实体将不会与数据库同步-不会有任何事务提交。

请尝试对该方法进行注释,在该方法中,您不希望进行任何修改,如:

@Transactional(readOnly = true)
public yourMethod(){
    //some hibernate-spring code here
}

尝试注释该方法,在该方法中,您不希望进行任何修改,如:

@Transactional(readOnly = true)
public yourMethod(){
    //some hibernate-spring code here
}

我认为你的应用程序有一些非常错误的地方,但是如果没有看到代码我就猜不到。我认为你的应用程序有一些非常错误的地方,但是如果没有看到代码我就猜不到。你需要更多细节的答案吗?你需要更多细节的答案吗?