将xml有效负载映射到不同的POJO对象

时间:2012-08-09 13:49:30

标签: data-binding jaxb

目前我正在使用CXF框架开发webservices。这个webservices将通过调用我的DAO层来执行我的数据库操作。我知道默认情况下CXF使用JAXB进行数据绑定。 例如,如果我想创建一个新人,我正在使用如下的web服务。

public Response createPerson(CreatePersonRequest request)
{

// Call to hibernate DAO class
personDao.create()
}

这里CreatePersonRequest是我的DTO类(JAXB注释),在我调用我的DAO类之前,我想将我的DTO类对象转换为Hibernate Entity对象。我想根据从我的webservice收到的XML填充我的hibernate实体对象。但是我在这里收到的XML将适用于CreatePersonRequest而不是我的Person实体对象。因为我的XML根标签不是这个,我的两个类的属性是相同的。简而言之,我想为相同的XML有效负载填充两种不同类型的POJO对象。无论如何使用JAXB实现这一目标?请帮帮我。

1 个答案:

答案 0 :(得分:0)

我可以使用XStream来改变Payload的Root标签,使用XStream别名功能,之后我可以转换为我的实体对象。