0
統合はmongodb +休止状態では動作しません。例外はスローされません。 em.insert行(p)を実行した後にレコードを挿入しません。統合jpa + mongodb "動作しません"
persistence.xmlでは、構成データベースが検出されません。データベースのポートまたは存在しないデータベースの名前を変更しても、例外は発生しません。 persistence-unitがUnidadOGMに変更された場合、persistence.xmlファイルを読み込みます。他のチェーンによって、persistence-unitが存在しない例外がジャンプします。
<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="UnidadOGM" transaction-type="JTA">
<provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
<class>com.arquitecturajava.Persona</class>
<properties>
<property name="hibernate.ogm.datastore.provider" value="mongodb" />
<property name="hibernate.ogm.datastore.grid_dialect"
value="org.hibernate.ogm.datastore.mongodb.MongoDBDialect" />
<property name="hibernate.ogm.datastore.database" value="arquitecturajava" />
<property name="hibernate.ogm.mongodb.host" value="127.0.0.1" />
<property name="hibernate.ogm.mongodb.port" value="27017" />
</properties>
</persistence-unit>
</persistence>
依存関係:
<dependency>
<groupId>org.hibernate.ogm</groupId>
<artifactId>hibernate-ogm-mongodb</artifactId>
<version>4.1.0.Beta8</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
<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>
<dependency>
<groupId>org.jboss.jbossts</groupId>
<artifactId>jbossjta</artifactId>
<version>4.16.4.Final</version>
</dependency>
おかげで、これは結果である:スレッドの例外 "メイン" java.lang.IllegalStateException:JTAのEntityManagerはorg.hibernate.jpa.spi.AbstractEntityManagerImpl.getTransactionでgetTransaction() \tを使用することはできません(AbstractEntityManagerImpl.java:1368 com.di.maven.App.main(App.java:25) – user1358518
でorg.hibernate.ogm.jpa.impl.OgmEntityManager.getTransactionで) \t(OgmEntityManager.java:591) \t user1358518 @、追加してください。あなたの質問に完全なスタックトレース。 –
@ user1358518スタンドアロンアプリケーションを使用している場合は、トランザクションタイプをRESOURCE_LOCALとして永続性に設定する必要があります – Davide