問題タブ [jpa-2.2]

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.

0 投票する
0 に答える
685 参照

jpa - JPA 2.2/Java EE 8/Glassfish v5 の AttributeConverter での @Inject の問題

仕様で説明されているように、JPA 2.2 は でサポート@Injectする必要があります。AttributeConverter

Java EE 環境の属性コンバーター クラスは、CDI が有効な場合 [51]、Contexts and Dependency Injection API (CDI) [7] による依存性注入をサポートします。CDI インジェクションを利用する属性コンバーター クラスは、PostConstruct および PreDestroy アノテーションが付けられたライフサイクル コールバック メソッドを定義することもできます。これらのメソッドは、注入が行われた後、属性コンバーターのインスタンスが破棄される前にそれぞれ呼び出されます。

しかし、JPA 2.1 コンバーター サンプルを JPA 2.2 に変換すると、機能しません。

元のConverter は、Glassfish v4 と v5 の両方で機能しました。

AttributeConverterJPA 2.2 でのインジェクション サポートを味わうために、Anther CDI Bean への変換ロジックを抽出しました。Glassfish v5(Java EE 8 Reference implementation)でコードを実行しようとしました。

そしてConverterUtilsクラス。

ではTagsConverter、expectedConverterUtilsは注入されず、呼び出されると常に null を取得し、NPE がスローされました。

完全なコードはここにあります。

更新: 4 年前に EclipseLink bugzilla で問題を作成したことがわかりました。

0 投票する
2 に答える
3832 参照

hibernate - Hibernate はどのバージョンから JPA 2.2 をサポートしますか?

JPA 2.2 を含む Java EE 8 がこの夏にリリースされたため、Hibernate がいつそれをサポートするかを知ることは良いことです。JPA 2.1 をサポートするために Hibernate 5.2 が言及されています。Hibernate 6.0 ロードマップには、JPA 2.2 サポートへの言及はありません。

ありがとう。