当前位置: 首页 > 面试题库 >

Hibernate, spring, JPS & isolation -不支持自定义隔离

夏嘉德
2023-03-14
问题内容

我一直在尝试:

@Transactional(isolation=Isolation.SERIALIZABLE, 
               rollbackFor={Exception.class}, 
               propagation=Propagation.REQUIRES_NEW)

关于我的服务方式,但spring抱怨说:

Standard JPA does not support custom isolation levels - use a special JpaDialect

我该如何解决?


问题答案:

JPA不支持自定义隔离级别。你可以扩展HibernateJpaDialect类并覆盖与连接有关的方法,以便可以在Connection

这是我写的但尚未测试的东西:

public class HibernateExtendedJpaDialect extends HibernateJpaDialect {

    @Override
    public Object beginTransaction(EntityManager entityManager,
            TransactionDefinition definition) throws PersistenceException,
            SQLException, TransactionException {

        Session session = (Session) entityManager.getDelegate();
        DataSourceUtils.prepareConnectionForTransaction(session.connection(), definition);

        entityManager.getTransaction().begin();

        return prepareTransaction(entityManager, definition.isReadOnly(), definition.getName());
    }

}

然后将其定义为你的属性EntityManagerFactory:

<property name="jpaDialect">
    <bean class="com.company.util.HibernateExtendedJpaDialect" />
</property>


 类似资料:
  • 问题内容: 我一直在尝试: 关于我的服务方式,但spring抱怨说: 我该如何解决? 问题答案: 此实现不解决清理问题,我已经实现了类似的解决方案,但也解决了清理问题。可以在以下位置找到该解决方案:http : //shahzad-mughal.blogspot.com/2012/04/spring-jpa-hibernate-support-for- custom.html

  • 问题内容: 我一直在尝试: 关于我的服务方式,但spring抱怨说: 我该如何解决? 问题答案: 此实现不解决清理问题,我已经实现了类似的解决方案,但也解决了清理问题。可以在以下位置找到该解决方案:http : //shahzad-mughal.blogspot.com/2012/04/spring-jpa-hibernate-support-for- custom.html

  • 我们有一个产品有一个客户,当我们作为服务提供商并且idp在客户端时,我们使用Spring Security SAML为该客户实现了SAML流。 现在,我们有另一个客户也希望身份验证与 SAML 一起使用,并且我们希望同一 SP 为此客户实现 SAML 流,第二个客户还将有 2 个用于 SAML 的流,一个用于移动设备,另一个用于使用相同 IDP 的其他设备。两个客户的 IDP 是不同的。 问题 两

  • 我正在尝试使用Spring(v.4.1.0)Security(v.3.2.5)保护的访问URL(例如 /user/subscriptions),在提交用户名/密码和csrf令牌后,我收到以下错误: HTTP错误405访问/j\u spring\u security\u检查时出现问题。原因:不支持请求方法“POST” 我有以下配置。网状物xml Spring Security上下文: CustomL

  • 问题内容: 我试图覆盖休眠验证4.1中的默认ResourceBundleLocator。到目前为止,它可以完美地工作,但是其用法的唯一示例包括用于实例化ValidationFactory的Java代码。 当将Web应用程序与spring一起使用时,hibernate验证将自动进行配置(只有适当的hibernate验证* .jar文件应存在并且会自动使用)。在那种情况下,我该如何替代Resource

  • 在ZF2-PostgreSQL应用程序中,我想使用Doctrine2本机查询来构建分页器列表。 因此,如果选择了任何自定义的Doctrine/Pgsql类型,它都会非常有效。但对于一个查询,我将使用来自自定义类型的数据。 我在PostgreSQL中声明了一个名为的Doctrine 2自定义类型,如下所示: 这种类型在某些表中使用。表中的示例: ( 此类型链接到实体,以便: 在事件上进行条令类型注册