【发布时间】:2012-08-06 18:27:38
【问题描述】:
目前我正在使用 CXF 框架开发 Web 服务。该网络服务将通过调用我的 DAO 层来执行我的数据库操作。我知道默认情况下 CXF 使用 JAXB 进行数据绑定。 例如,如果我想创建一个新人,我的网络服务如下所示。
public Response createPerson(CreatePersonRequest request)
{
// Call to hibernate DAO class
personDao.create()
}
这里 CreatePersonRequest 是我的 DTO 类(JAXB 注释),在我调用我的 DAO 类之前,我想将我的 DTO 类对象转换为 Hibernate Entity 对象。我想根据从我的网络服务收到的 XML 填充我的休眠实体对象。但是我在这里收到的 XML 将适合 CreatePersonRequest 而不是我的 Person 实体对象。因为我的 XML 根标记将不是除此之外的,我的两个类的属性是相同的。简而言之,我想为同一个 XML 有效负载填充两种不同类型的 POJO 对象。无论如何使用 JAXB 来实现这个?请帮帮我。
【问题讨论】:
-
如果我理解你的问题,它应该可以工作。你看到什么问题?您能否提供更多详细信息?
-
感谢您的回复。我有两个类,如 PersonRequest 和 Person。所以这两个类的根标签名称是不同的。我收到的 xml 有效负载是
,所以我可以使用 JAXB 而不是 Person 请求来填充 PersonRequest 对象,不仅在这种情况下,有时我还会收到像 这样的 xml,那个时候我也需要填充Person 对象。
标签: data-binding jaxb