問題タブ [hibernate-jpa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - C3P0 プールが間違った MySQL サーバーに接続する
を介して Hibernate JPA で構成された C3P0 接続プールに奇妙なケースがありますpersistence.xml
。
これは私のpersistence.xml
です:
アプリの JAR パッケージをビルドした後、ローカル マシンで実行すると動作し、MySQL Server に接続できますAAA.BBB.CCC.DDD
。
ただし、リモート サーバーで JAR アプリを実行すると、次のエラーが発生します。
サーバーを構成した奇妙なことですAAA.BBB.CCC.DDD
が、C3P0 データ ソースがリモート ホストの MySQL サーバーに接続しようとしていますAAA.BBB.CCC.EEE
。
localhost
またはを使用してコード内の場所を設定しませんAAA.BBB.CCC.EEE
。
誰もこれを経験しましたか?
hibernate - @EntityListeners アノテーションにより TypeNotPresentExceptionProxy エラーが発生する
このような JPA エンティティがあります。@EntityListeners
注釈に注意してください。
JPAプロバイダーとしてHibernateを使用しています。
Spring を使用LocalContainerEntityManagerFactoryBean
して JPA を作成しますEntityManager
。メソッドを使用して、エンティティ クラスをメソッドに登録setPersistenceUnitPostProcessors
するインスタンスを設定します。(Spring Boot ではないことはわかっていますが、それは別の機会に取り上げます)。PersistenceUnitPostProcessor
postProcessPersistenceUnitInfo
DataSource
におよびその他のプロパティを設定した後LocalContainerEntityManagerFactoryBean
、メソッドを呼び出すと、次のafterPropertiesSet
例外がスローされます。
@EntityListeners( { AuditingEntityListener.class } )
上記のエンティティ クラスの注釈をコメントアウトしました。
その後、LocalContainerEntityManagerFactoryBean
のafterPropertiesSet()
メソッドはエラーをスローせずEntityManager
、使用可能なインスタンスを生成しました (これを使用して、エンティティの基本的な選択を行うことができました)。したがって、少なくとも、セットアップの残りの部分が正しく機能することはわかっています。
注釈を使用しているときにエラーが発生する理由@EntityListeners
と、それを修正する方法を誰か教えてもらえますか? 私が知る限り、それはランタイム クラスパス (javax.persistence-api-2.2.jar
ファイルは webapp のWEB-INF/lib
ディレクトリにあります) にあり、AuditingEntityListener
クラス (spring-data-jpa-1.11.6.RELEASE.jar
ファイル内) もそうです。
役立つ場合は、依存関係を取得するために使用している Gradle エントリを以下に示します。
@EntityListeners
注釈を使用するときにエラーを取り除くにはどうすればよいですか?
ありがとうございました!!!
hibernate-ogm - JBoss WildFly 11、Hibernate ORM 5.2、OGM 5.3、MongoDB - OgmIntegrator が見つからない
MongoDB で JPA を使用できるように、Hibernate ORM 5.2 を OGM 5.3 で動作させるためにゆっくりと進行中です。
OGM FAQ で参照されている JNDI ルックアップ エラーを削除するには、次の手順を実行します。
WildFly の上で Hibernate OGM を使用すると、JndiException が発生します。どうしたの?「Unable to lookup JNDI name [---PlaceHolderDSForOGM---]」という JndiException が表示されている場合、アプリケーションは Hibernate OGM のアプリケーション サーバー モジュールにアクセスできない可能性があります。
これを変更するには、アーカイブの META-INF/MANIFEST.MF ファイルに次の行を追加します (選択したデータストアに合わせて調整します)。
依存関係: org.hibernate:ogm サービス、org.hibernate.ogm.mongodb サービス または、記述子 jboss-deployment-structure.xml を介してこれを設定できます。詳細については、リファレンス ガイドを参照してください。
私が作成した: jboss-deployment-structure.xml
含む:
WildFly 11 コンソールから EAR をデプロイしようとすると、次のようになります。
17:58:42,921 エラー [org.jboss.msc.service.fail] (ServerService スレッド プール -- 65) MSC000001: サービス jboss.persistenceunit の開始に失敗しました。"NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwellMongoDBPersistenceUnit". FIRST_PHASE : サービス jboss.persistenceunit の org.jboss.msc.service.StartException."NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwellMongoDBPersistenceUnit". 第1段階: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: プロバイダー org.hibernate.ogm.service.impl.OgmIntegrator が org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl. java:128) org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:104) org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:640) .as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1.run(PhaseOnePersistenceUnitServiceImpl.java:137) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. java:617) org.jboss の java.lang.Thread.run(Thread.java:745) で。threads.JBossThread.run(JBossThread.java:320) 原因: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: プロバイダー org.hibernate.ogm.service.impl.OgmIntegrator が java.util で見つかりません。 ServiceLoader.fail(ServiceLoader.java:239) で java.util.ServiceLoader.access$300(ServiceLoader.java:185) で java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372) で java.util.ServiceLoader$ LazyIterator.next(ServiceLoader.java:404) で java.util.ServiceLoader$1.next(ServiceLoader.java:480) で org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:459) でorg.hibernate.boot.registry.BootstrapServiceRegistryBuilder の org.hibernate.integrator.internal.IntegratorServiceImpl.(IntegratorServiceImpl.java:40)。build(BootstrapServiceRegistryBuilder.java:224) で org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildBootstrapServiceRegistry(EntityManagerFactoryBuilderImpl.java:406) で org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:196) でorg.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:164) org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:32) org.hibernate.jpa.boot.spi .Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:89) org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.(TwoPhaseBootstrapImpl.java:39) org.jboss.as.jpa.hibernate5.HibernatePersistenceProviderAdaptor.getBootstrap(HibernatePersistenceProviderAdaptor.java: 199) 組織で。wildfly.jpa.hibernateogm5.HibernateOGMPersistenceProviderAdaptor.getBootstrap(HibernateOGMPersistenceProviderAdaptor.java:87) at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl.createContainerEntityManagerFactoryBuilder(PhaseOnePersistenceUnitServiceImpl.java:254) at org.jboss.as.jpaServiceImplistenceUnitsImplistencePerase.service. access$900(PhaseOnePersistenceUnitServiceImpl.java:59) at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:125) ... 7 詳細PhaseOnePersistenceUnitServiceImpl.access$900(PhaseOnePersistenceUnitServiceImpl.java:59) at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:125) ... 7 詳細PhaseOnePersistenceUnitServiceImpl.access$900(PhaseOnePersistenceUnitServiceImpl.java:59) at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:125) ... 7 詳細
17:58:42,926 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 1) WFLYCTL0013: 操作 ("add") が失敗しました - アドレス: ([("deployment" => "NOTiFYwell .ear")]) - 失敗の説明: {"WFLYCTL0080: 失敗したサービス" => {"jboss.persistenceunit.\"NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwellMongoDBPersistenceUnit\". FIRST_PHASE" => "java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: プロバイダー org.hibernate.ogm.service.impl.OgmIntegrator が見つかりません 原因: java.util.ServiceConfigurationError: org.hibernate.integrator.spi .Integrator: プロバイダー org.hibernate.ogm.service.impl.OgmIntegrator が見つかりません"}} 17:58:42,927 エラー [org.jboss.as.server] (外部管理要求スレッド -- 1) WFLYSRV0021: デプロイメントのデプロイ " NOTiFYwell.ear" は次の失敗メッセージでロールバックされました: {"WFLYCTL0080: Failed services" => {"jboss.persistenceunit.\"NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwellMongoDBPersistenceUnit\". 第1段階" => "java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: プロバイダー org.hibernate.ogm.service.impl.OgmIntegrator が見つかりません 原因: java.util.ServiceConfigurationError: org.hibernate.integrator.spi .Integrator: プロバイダー org.hibernate.ogm.service.impl.OgmIntegrator が見つかりません"}} 17:58:42,939 INFO [org.jboss.as.server.deployment] (MSC サービス スレッド 1-7) WFLYSRV0208: サブデプロイメントの停止 (ランタイム名: NOTiFYwellJAR.jar) 10 ミリ秒で 17:58:42,942 INFO [org.jboss.as.server.deployment] (MSC サービス スレッド 1-8) WFLYSRV0208: 13 ミリ秒でサブデプロイメント (ランタイム名: NOTiFYwellWAR.war) を停止しました17:58:42,952 INFO [org.jboss.as.server.deployment] (MSC サービス スレッド 1-8) WFLYSRV0028: デプロイメント NOTiFYwell.ear (ランタイム名: NOTiFYwell.ear) を 25 ミリ秒で停止しました
エラー:
プロバイダー org.hibernate.ogm.service.impl.OgmIntegrator が見つかりません
次の場所にあるクラスOgmIntegratorを参照します。
これがロードされていない理由はありますか?ティア
java - org.apache.catalina.LifecycleException; コンポーネントの起動に失敗しました
Tomcat 8 でクラス ファイルを展開/置換した後、次のエラーが発生しました。当面の問題の解決策をまだ見つけることができませんでした (または適切に実装することもできません)。どんな助けでも大歓迎です!