5

必要: XML を取り込み、データをデータベースに保存します。

現在使用中: JAXB を使用して XML スキーマを Java クラスに変換します。次に、JPA を使用して、JAXB によって整列化されたオブジェクトを永続化するつもりです。

問題: ギャップを埋める何かが欲しい。JAXB が Java クラスを生成した後、すべての java.util.Date フィールドに @Temporal で手動で注釈を付ける必要があります。生成されたすべてのクラスの上に @Entity を配置する必要があります...など。

Hyperjaxb に出会いました。しかし、私はそれに関するドキュメントをほとんど見つけることができず、それを機能させることができません。

私はまったく異なるアプローチに対してオープンです。これは一般的な問題のように思われるので、一般的な解決策があるかもしれません。

4

3 に答える 3

3

注: 私はEclipseLink JAXB(MOXy)のリーダーであり、JAXB 2(JSR-222)エキスパートグループのメンバーです。

既存のデータベーススキーマがすでにある場合は、EclipseのDaliツール(Webツールプロジェクトの一部)を使用して、データベースからJPAエンティティを生成できます。

JAXBは例外による構成です。つまり、デフォルトの動作をオーバーライドする場合にのみ注釈を追加する必要があります。Daliには、JAXBアノテーションの追加を簡単にするツールもあります。

JPAエンティティは、双方向の関係と複合キーを使用することがあります。これらは、XMLにマップするのが難しい場合があります。EclipseLink JAXB(MOXy)には、これを簡単にするためのいくつかの拡張機能が含まれています(EclipseLinkはJPA実装も提供していることに注意してください)。

于 2011-12-18T11:20:24.500 に答える
1

Hyperjaxb はまさにあなたが達成しようとしていることを行います。ドキュメントは次のとおりです。

開始するためのチュートリアルは次のとおりです。

于 2011-12-18T19:08:49.793 に答える