問題タブ [hibernate-5]
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.
hibernate - JPA/Hibernate が、Wildlfy 24.0.1.Final/Hibernate 5.3.20 で非 XA データ ソースのデータベース スキーマを正しく検出しない
問題の説明
プロジェクトを Wildfly 8.2.1.Final から新しいバージョンに移行しています。主な目的は、Java 8+ で Hibernate 5 を使用し、後で移行するために Java 11 と互換性のある Wildfly バージョンで実行することです (したがって、Java 8 で問題が発生します)。
jboss-migration-tool が standalone.xml の移行に役立つ最後のバージョンであるため、Wildfly 24.0.1.Final (Hibernate 5.3.20.Final) を選択しました (WF 25 はレガシーのサポートを削除するため、これは手動の移行手順)。
MySQLコネクタ8の最新バージョンでMariadb 10を使用しています。MySQLコネクタのバージョン5またはmariadb jdbcドライバーと同じ問題。
この問題は、非 XA データソースを移行するときに発生します (XA データソースは正常に動作します)。EAR の展開時に、Wildfly は、各エンティティをマッピングするときに「データベースが選択されていません」という警告を出し続け (ログを参照)、データベースのクエリ時にエラーを返します。
- 他の人が示唆したように、connection-url が適切なスキーマ名で終わっていることを確認しました。
- データベースへの接続のテストは問題ありません。
- データソースを XA として指定すると、正常に動作します (standalone.xml の抜粋を参照)。
- wildfly 8 では、XA データソースと非 XA データソースの両方が適切に動作します。
- hibernate プロパティ hibernate.default_schema; でデフォルト スキーマ (voting_db) を再度指定してみました。XA データソースと非 XA データソースの両方でエラーが発生するようになったので、これは良い考えではないようです (ただし、エラーは異なります)。
- persistence.XML の 2.0 バージョンにダウングレードしてみました
Wildfly の起動時に、次の警告が表示されます。
そのため、Wildfly 管理インターフェイスを介して追加されたデータソースで、standalone.xml 構文をチェックしましたが、問題は見つかりませんでした。次のログ メッセージは、データソースが適切にバインドされたことを通知するものです。しかし、何か間違っていることへのヒントですか?
私が欠けているものは何ですか?私は数日間、Webを検索してみました..
standalone.xml の非 XA データソース仕様 (簡略化)
これはエラーが発生する仕様です
standalone.xml の XA データソース仕様 (簡略化)
これは正常に動作する仕様です。
シンプルなpersistence.xml
ログ
以下はログの抜粋です。これは私にいくつかの質問を提起します:
- 二次キャッシュはデフォルトで有効になっていますか? または、一部のエンティティが @cacheable としてマークされているためにアクティブ化されていますか?
- hibernate.properties ファイルはどのくらい重要ですか?
EAR 展開時
各エンティティに対して同じ警告を繰り返します。
そして最後にエラーに到達