我猜这件事很尴尬,我可能做错了,但请耐心等待。
我有一个使用Spring管理的事务的Spring应用程序。它使用EclipseLink JPA。我有一个方法,该方法执行
当然有道理,但我该怎么办?
我有一个使用Spring管理的事务的Spring应用程序。它使用EclipseLink JPA。我有一个方法,该方法执行
findByNativeQuery()
,然后是merge()
。我需要在真正的SERIAL事务隔离级别中执行此操作。我尝试添加@Transactional(isolation=Isolation.SERIALIZABLE)
,但这不起作用,因为org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect#beginTransaction
不支持除默认事务隔离级别之外的任何事务隔离级别。所以我尝试访问ElcipseLink的UnitOfWork内部,并启动/提交自己的事务,但是我遇到了错误:"java.lang.IllegalStateException : Not allowed to create transaction on shared EntityManager - use Spring transactions or EJB CMT instead
当然有道理,但我该怎么办?