現在、CXF フレームワークを使用して Web サービスを開発しています。この Web サービスは、DAO レイヤーを呼び出して DB 操作を行います。デフォルトでは、CXF がデータバインディングに JAXB を使用していることは知っています。たとえば、新しい人を作成したい場合、次のような Web サービスを使用しています。
public Response createPerson(CreatePersonRequest request)
{
// Call to hibernate DAO class
personDao.create()
}
ここで、CreatePersonRequest は私の DTO クラス (JAXB 注釈付き) です。DAO クラスを呼び出す前に、DTO クラス オブジェクトを Hibernate Entity オブジェクトに変換したいと考えています。Web サービスから受け取った XML に基づいて、休止状態のエンティティ オブジェクトを作成したいと考えています。しかし、私がここで受け取っている XML は、私の Person エンティティ オブジェクトではなく CreatePersonRequest に適合します。私の XML ルート タグはこれ以外のものではないため、両方のクラスの私のプロパティは同じです。要するに、同じ XML ペイロードに対して 2 つの異なるタイプの POJO オブジェクトを設定したいのですが、JAXB を使用してこれを達成する方法はありますか? 私を助けてください。