【问题标题】:Map a xml payload to different POJO objects将 xml 有效负载映射到不同的 POJO 对象
【发布时间】: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


【解决方案1】:

我可以使用 XStream 使用 XStream 别名功能更改 Payload 的 Root 标记,然后我可以转换为我的实体对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多