当前位置: 首页 > 知识库问答 >
问题:

org.hibernate.resource.transaction.没有找到Transaction协调生成器类...我正在尝试使用mongob

伏星汉
2023-03-14

我对hibernate ogm不熟悉。我尝试了一个小例子,它给出了例外

  public static void main(String[] args) {
TransactionManager transactionManager=com.arjuna.ats.jta.TransactionManager.transactionManager();       
        try {
            transactionManager.begin();

            OgmSessionFactory sessionFactory=HibernateUtil.getSessionFactory();
          Session session=sessionFactory.openSession();
            Testing testing=new Testing();
            testing.setId(1l);
            testing.setfName("dkd");
            testing.setlName("dash");

            session.save(testing);
            transactionManager.commit();

        } catch (Exception e) {
            // TODO: handle exception
            try {
                //transactionManager.rollback();
            } catch (IllegalStateException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (SecurityException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
}`

这是我的日志。。

2016年8月24日下午2:50:35 com。阿诸那。ats。阿诸那。恢复TransactionStatusManager添加服务信息:Arjuna01263:启动服务com。阿诸那。ats。阿诸那。恢复ActionStatusService在端口52455 2016年8月24日下午2:50:36 com。阿诸那。ats。内部的阿诸那。恢复TransactionStatusManagerItem信息:ARJUNA012337:TransactionStatusManagerItem主机:127.0.0.1端口:52455 2016年8月24日下午2:50:36 com。阿诸那。ats。阿诸那。恢复TransactionStatusManager启动信息:arjuna01270:TransactionStatusManager在端口52455和主机127.0.0.1上启动,带有服务com。阿诸那。ats。阿诸那。恢复ActionStatusService 2016年8月24日下午2:50:36组织。冬眠版本日志版本信息:hh000412:Hibernate核心{5.2.2.Final}2016年8月24日下午2:50:36 org。冬眠cfg。环境信息:hh000206:Hibernate。未找到房产2016年8月24日下午2:50:36 org。冬眠cfg。Environment buildBytecodeProvider信息:hh000021:字节码提供程序名称:java线程“main”中的javassist异常。lang.NoClassDefFoundError:org/hibernate/resource/transaction/TransactionCoordinatorBuilder at org。冬眠ogm。靴子impl。OgmServiceRegistryInitializer。在org上投稿(OgmServiceRegistryInitializer.java:71)。冬眠靴子注册表。StandardServiceRegistryBuilder。applyServiceContributors(StandardServiceRegistryBuilder.java:305)位于org。冬眠靴子注册表。StandardServiceRegistryBuilder。在org上构建(StandardServiceRegistryBuilder.java:273)。冬眠cfg。配置buildSessionFactory(Configuration.java:726)位于org。冬眠ogm。cfg。OGM配置。utils上的buildSessionFactory(OgmConfiguration.java:33)。冬眠。hibernatePrac上的getSessionFactory(HibernateUtil.java:19)。TestApp。main(TestApp.java:20)由:java引起。lang.ClassNotFoundException:org。冬眠资源交易java上的TransactionCoordinatorBuilder。网URLClassLoader。java上的findClass(URLClassLoader.java:381)。lang.ClassLoader。sun上的loadClass(ClassLoader.java:424)。其他。启动器$AppClassLoader。java上的loadClass(Launcher.java:331)。lang.ClassLoader。loadClass(ClassLoader.java:357)。。。7个以上

pom。xml

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>Practice</groupId>
    <artifactId>maven</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>maven Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.2.2.Final</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.2.2.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <!-- https://mvnrepository.com/artifact/org.jboss/jboss-transaction-spi -->
        <dependency>
            <groupId>org.jboss</groupId>
            <artifactId>jboss-transaction-spi</artifactId>
            <version>7.1.0.Final</version>
        </dependency>
        <!-- Hibernate OGM dependency -->
        <!-- https://mvnrepository.com/artifact/org.hibernate.ogm/hibernate-ogm-core -->
        <dependency>
            <groupId>org.hibernate.ogm</groupId>
            <artifactId>hibernate-ogm-core</artifactId>
            <version>5.0.1.Final</version>

        </dependency>


        <!-- standard APIs dependencies - provided in a Java EE container -->
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <version>1.0.1.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <dependency>
            <groupId>org.jboss.spec.javax.transaction</groupId>
            <artifactId>jboss-transaction-api_1.1_spec</artifactId>
            <version>1.0.0.Final</version>
            <scope>provided</scope>
        </dependency>
        <!-- JBoss Transactions dependency -->
        <dependency>
            <groupId>org.jboss.jbossts</groupId>
            <artifactId>jbossjta</artifactId>
            <version>4.16.4.Final</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate.ogm</groupId>
            <artifactId>hibernate-ogm-mongodb</artifactId>
            <version>5.0.0.CR1</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.common</groupId>
            <artifactId>hibernate-commons-annotations</artifactId>
            <version>5.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.5.4</version>
        </dependency>
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.5.4</version>
        </dependency>


        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.6</version>
        </dependency>
        <!-- <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> 
            <version>1.2.17</version> </dependency> -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.3.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.5.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.5.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.3</version>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.5.3</version>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.8.1</version>
        </dependency>

        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>3.2.0</version>
        </dependency>

        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.0</version>
        </dependency>


    </dependencies>
    <build>
        <finalName>maven</finalName>
    </build>
</project>

坚持不懈xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">
    <persistence-unit name="org.hibernate.ogm.tutorial.jpa" transaction-type="JTA">
        <!-- Use Hibernate OGM provider: configuration will be transparent -->
        <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
        <properties>
        <property name="hibernate.transaction.jta.platform"
                value="org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform" />
            <property name="hibernate.ogm.datastore.provider" value="mongodb" />

            <!-- defines which JTA Transaction we plan to use -->
            <property name="hibernate.ogm.datastore.provider" value="mongodb" />
            <property name="hibernate.ogm.datastore.database" value="test" />
            <property name="hibernate.ogm.datastore.host" value="localhost" />
            <property name="hibernate.ogm.datastore.port" value="27017" />
            <property name="hibernate.ogm.datastore.username" value="dkd" />
            <property name="hibernate.ogm.datastore.password" value="dkd123" />
        </properties>
    </persistence-unit>
</persistence>`

冬眠cfg。xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.ogm.datastore.provider">mongodb</property>
        <property name="hibernate.ogm.datastore.database">test</property>
        <property name="hibernate.ogm.datastore.host">127.0.0.1</property>
        <property name="hibernate.ogm.datastore.port">27017</property>
        <property name="hibernate.ogm.datastore.username">dkd</property>
        <property name="hibernate.ogm.datastore.password">dkd123</property>
        <!--  <property name="hibernate.current_session_context_class">thread</property>
        <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
         <property name="hibernate.connection.datasource">java:/DefaultDS</property> 
        <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
        <property name="jta.UserTransaction">java:comp/UserTransaction</property>
        <property name="hibernate.transaction.auto_close_session">true</property> -->
        <property name="hibernate.dialect">org.hibernate.ogm.datastore.mongodb.MongoDBDialect</property>
    </session-factory>
</hibernate-configuration>

共有1个答案

颛孙正谊
2023-03-14

Hibernate OGM尚不兼容Hibernate ORM 5.2(正在进行PR以使其与ORM 5.1兼容,但最新发布的版本仅与ORM 5.0兼容)。

您需要使用Hibernate ORM 5.0.10。hibernate core和hibernate entitymanager依赖项的最终版本。

也就是说,如果这只是一个简单的例子,那么让hibernate ogm通过其transitives依赖项获得正确的依赖项:它将避免此类问题。

 类似资料:
  • 我刚开始阅读“ProSpringMVCwithWebFlow”,它附带了一个我想遵循的代码示例。 我想要的-我想要使用 我尝试过什么-我唯一想到的是只留下Gradle的东西加上文件夹,以防Gradle将所有目录识别为不同的版本,但没有成功 我想要完成的最终结果是什么?首先,我想找出我的错误在哪里,以及如何构建示例应用程序。而且,如果我能从我昨天写的第一个设置中做到这一点,那将是完美的,我应该做些什

  • 更新2 在较新版本的Sprint Boot上再次遇到此问题,不得不改为:

  • 我刚开始读“Pro Spring MVC with web Flow”,它附带了一个代码示例,我想跟随它。 null 我试过什么--我想到的唯一一件事是只留下Gradle的东西加上文件夹,以防Gradle识别所有目录为不同的构建,但没有成功。 我想要完成的最终结果是什么--首先,我想要弄清楚我的错误在哪里,以及如何构建示例应用程序。而且,如果我真的可以从我的第一个设置(正如我昨天所写的那样)做到这

  • 问题内容: 我正在尝试遵循Zed Shaw的《困难方法学习Python》指南。我需要在Powershell中使用python。我在中安装了Python 2.7.3 。每当我在Powershell中键入python时,都会出现一个错误,指出“ python”一词无法识别为cmdlet,函数,脚本文件或可操作程序的名称。我也输入了以下内容: 提供了建议的解决方案,但是在Powershell中输入pyt

  • 我正在尝试制作一个简单的表单,显示服务器上的数据库列表,允许用户选择一个数据库点击ok,然后开始下载一个.sql文件,该文件可以用于恢复数据库 我遇到的问题是只有一个空白。sql文件已创建。如果我更改它,只使用mysqldump命令,为转储指定一个文件位置,我会在文件中获得更多信息,但只是其中的一部分: --主机:localhost数据库: -- 服务器版本 5.5.35-0ubuntu0.12.

  • 我正在尝试使用python创建一个discord bot,当我运行基本代码时,它会返回“AttributeError:'NoneType'对象没有属性'strip'”,我将遵循本教程。我有两个文件-机器人。py和bot。env(用于存储令牌)下面是两个文件:bot。py: 还有机器人。环境: 它应该显示“{bot name}已连接到不和谐!”我谷歌了错误,但找不到解决方案。