我目前遇到了一个问题,我怀疑它可能是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执行相同的查询,查询运行得非常快。
有什么想法,建议吗?谢谢!
答案 0 :(得分:0)
此问题已得到解决。问题是由于某些资源泄漏导致基础表上存在表锁定,即未关闭的连接/悬空事务。