1

現在、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 を使用してこれを達成する方法はありますか? 私を助けてください。

4

1 に答える 1

0

XStream エイリアス機能を使用して Payload のルート タグを変更するには、XStream を使用します。その後、エンティティ オブジェクトに変換できます。

于 2012-08-10T06:11:40.003 に答える