Im using below query to fetch the data using hibernate IN clause,
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();
and method is annotation with
@Transactional(value = "JpaTxn", readOnly = true, timeout = 900)
Exception:
16:44:30.462 [main] DEBUG org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl
- JDBC transaction marked for rollback-only (exception provided for stack trace)
java.lang.Exception: exception just for purpose of providing stack trace at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.markRollbackOnly(JdbcResourceLocalTransactionCoordinatorImpl.java:271) at org.hibernate.engine.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:143) at org.springframework.orm.jpa.JpaTransactionManager$JpaTransactionObject.setRollbackOnly(JpaTransactionManager.java:684)
Its working if I pass upto 550 ids in IN clause. So its due to transaction timeout?
Suggest me to fix this scenario.