相关疑难解决方法(0)

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
Run Code Online (Sandbox Code Playgroud)

这当然有道理......但我该怎么办?

java spring jpa transactions eclipselink

6
推荐指数
1
解决办法
1441
查看次数

标签 统计

eclipselink ×1

java ×1

jpa ×1

spring ×1

transactions ×1