hibernate in子句在使用更多in数据时抛出错误

vsnjm48y  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(194)

我使用下面的查询来获取数据,使用hibernate-in子句,

select emp from Employee emp where emp.employeeParentCompanyDetails in (:empParentCompDetails)

TypedQuery<Employee> query = entityManager.createQuery(fetchQuery,Employee.class);
                query.setParameter("empParentCompDetails", <more than 650 params>);
                List<Employee> employeeDetailss = query.getResultList();

方法是用注解

@Transactional(value = "JpaTxn", readOnly = true, timeout = 900)

例外情况:
16:44:30.462[main]调试org.hibernate.resource.transaction.backend.jdbc.internal.jdbcresourcelocaltransactioncoordinatorimpl
标记为仅回滚的jdbc事务(为堆栈跟踪提供了异常)
java.lang.exception:异常仅用于在org.hibernate.resource.transaction.backend.jdbc.internal.jdbcresourcelocaltransactioncoordinatorimpl$transactiondrivercontrolimpl.markrollbackonly(jdbcresourcelocaltransactioncoordinatorimpl)提供堆栈跟踪。java:271)在org.hibernate.engine.transaction.internal.transactionimpl.setrollbackonly(transactionimpl。java:143)位于org.springframework.orm.jpa.jpatransactionmanager$jpatransactionobject.setrollbackonly(jpatransactionmanager)。java:684)
它的工作,如果我通过多达550个身份证在条款。那是因为事务超时?
建议我解决这个问题。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题