java - Weblogic 和 hibernate 配置

标签 java hibernate weblogic

我需要将一个使用hibernate的项目从Jboss迁移到weblogic。目前我正在使用此配置:

持久性.xml

<persistence-unit name="pagosHibernate" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>...</class>
    <properties>
        <property name="hibernate.ejb.cfgfile" value="META-INF/hibernate.cfg.xml"/>
    </properties>
</persistence-unit>

hibernate.cfg.xml

<hibernate-configuration>
    <session-factory>
        <property name="connection.datasource">MyDS</property>
        <property name="jndi.class">weblogic.jndi.WLInitialContextFactory</property>
        <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WeblogicTransactionManagerLookup</property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
    </session-factory>
</hibernate-configuration>

代码是:

EntityManager em = this.factory.createEntityManager();
EntityTransaction entityTransaction = em.getTransaction();
entityTransaction.begin();
...
em.persist(device);
entityTransaction.commit();

但我得到:

java.sql.SQLException: Cannot call commit when using distributed transactions

谢谢

最佳答案

Hibernate 配置中使用的数据源“MyDS”看起来像 XA 数据源。 在您的情况下,应使用非 XA 数据源。在Weblogic中配置DataSource时,您必须选择合适的瘦驱动程序。希望这会有所帮助。

关于java - Weblogic 和 hibernate 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33965529/

相关文章:

java - org.mockito.exceptions.misusing.InvalidUseOfMatchersException' 异常

java - 在Hibernate中使用批量插入时,行无法持久存储

java - EJB 客户端找不到在 WebLogic 管理控制台中测试成功的数据源

java - Elasticsearch 开始期间的java.lang.NoSuchMethodError

java - 事务提交后 Hibernate 线程未完成

java 慢 : entropy related issue

java - JaxRS 读取文本/xml 响应 MessageBodyProviderNotFoundException

java - 使用 Java 中的 GridBagLayout 无法正确调整面板大小

java - 如何使用 Unirest 并行发送多个异步请求

java - 异步构建 Hibernate Search 索引以确保不会停机。