spring-data-jpa存储库和hibernate嵌套查询

时间:2013-10-28 18:08:28

标签: hibernate subquery spring-data spring-data-jpa

我目前遇到了一个问题,我怀疑它可能是Hibernate或Spring Data JPA的问题。我的底层关系数据库是Oracle PL / SQL。

我有一个简单的Spring Data JpaRepository子接口:

@Component
@Repository
public interface MyEmailRepository extends JpaRepository<Email, Integer> {

@Modifying
@Transactional
@Query("UPDATE email e" +
        "SET e.toAddress = 'someValue' " +
        "WHERE e.foreign_key IN ( SELECT f.primary_id FROM Feeder f WHERE f.ids in (:ids) )")
int deleteTheEmail(@Param("ids") List<Integer> ids);

如您所见,这是一个嵌套查询。当这段代码执行时,线程似乎会挂起很长时间并且没有任何结果,除非我手动终止进程。如果我用SQL Developer执行相同的查询,查询运行得非常快。

有什么想法,建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

此问题已得到解决。问题是由于某些资源泄漏导致基础表上存在表锁定,即未关闭的连接/悬空事务。