JAXB を使用すると、XSD から Java ファイルを生成でき、注釈付き POJO から XSD を生成することもできます。それぞれの長所と短所は何ですか?一方が他方よりも全体的に優れていますか?
基本的に、イベントを XML 形式のログにシリアライズしたいと考えています。
JAXB を使用すると、XSD から Java ファイルを生成でき、注釈付き POJO から XSD を生成することもできます。それぞれの長所と短所は何ですか?一方が他方よりも全体的に優れていますか?
基本的に、イベントを XML 形式のログにシリアライズしたいと考えています。
最終的には、どこに焦点を当てたいかによって異なります。
XML スキーマが最も重要な場合
次に、XML スキーマから開始して JAXB モデルを生成するのが最善です。JAXB (JSR-222) 実装では生成できない XML スキーマの詳細があります。
オブジェクト モデルが最も重要な場合
Java モデルをオブジェクトと XML 間の変換以上の目的で使用する (つまり、永続化のために JPA で使用する) 場合は、Java オブジェクトから始めることをお勧めします。これにより、最大の制御が可能になります。
XMLの主なポイントの1つは、プラットフォームや言語に関係なく使用できるポータブルなデータ転送形式であることを考えると、経験則として、特定のプログラミング言語からXSDを生成することは避けます。これは、Javaエンドポイント間でのみ通信していることがわかっている場合は問題にならない可能性があります(ただし、これが永遠に当てはまると確信していますか?)。
プログラミング言語の中立的な方法でインターフェース/スキーマを定義することは、他のすべてが等しい場合に、より良い方法です。
この一般原則には多くの例外があります。特に、既存またはレガシーコードと統合する場合は...
pojo とスキーマの両方を設計する機会がある場合、それは設計の問題です。「完全な」スキーマまたは「完全な」Java クラスのどちらを設計しますか。
システム統合のシナリオでは、適応する必要がある別のシステムから定義済みの XSD が与えられる場合があります。その場合、XSD -> クラスが唯一の方法になります。
開始点に関する要件とシナリオによって異なります。
要件を考慮して、generate Java files from an XSD
最初に Java でサポートされる出力 (XML) 形式を定義するために使用します。