在JPA中,是否会对本机查询进行回滚?

时间:2010-05-11 19:16:23

标签: java jpa transactions native

我正在使用JPA 1.0和hibernate作为我的提供者。在entitymanager事务中,如果运行了一系列本机查询(包括DELETE sql语句)并且发生错误,那么本机查询是否会对错误进行回滚?

我在oracle数据库中遇到了死锁问题,我发现即使某些事务被回滚,它也会使数据库不一致。我想知道这种不一致是由于一个事务成功但另一个事务回滚但只达到某个点这一事实造成的吗?

谢谢..

2 个答案:

答案 0 :(得分:4)

回滚不会回滚“JPQL查询”,它会回滚SQL语句,这包括来自“本机查询”的SQL语句。

答案 1 :(得分:2)

是。发生错误时会回滚JPQL和本机SQL查询。