3

我正在处理一个涉及 XML 流并将该数据转换为我的数据库中的持久数据的项目。到目前为止,我已经到了可以使用我的 web 服务的地步,我生成了一些 JAXB POJO,并且已经开始对 XML 流进行解组。

我试图弄清楚是否有一种方法可以直接从 XML 到实体。

我知道我可以设计我的新数据库,生成一些实体,然后将 XML 解组到生成的 POJO,然后将 POJO 数据移动到实体并持久化。但这听起来很荒谬。任何人都给我一个提示在哪里看,我没有发现任何谷歌搜索问题。我正在使用 Netbeans 6.9。

4

1 回答 1

2

您可以创建自己的带有JAXB 注释的对象,这些对象也是Java Persistence API (JPA) 注释的对象。使用 JPA,您可以将这些对象持久保存到您的数据库中。将 JAXB 和 JPA 注释保留在单个类上的好处是,只需在该类、UI 表示和关联的 XSD 中对对象进行任何更改

然而,这确实在某些方面打破了 N 层架构背后的想法。您正在有效地将业务逻辑与持久层合并。为了消除重复,这可能是个好主意,但有时您会发现自己使用@Transient并将@XmlTransientXML 或数据库中只需要的东西放入类中,而不会影响不需要它们的区域。

所以这是可能的,但你想在做之前权衡利弊。另请参阅这个问题这个问题,以了解有关权衡的更多想法(都倾向于将两组注释放在一个地方)。

这个问题涵盖了一些工具,以最大限度地减少通过 JAXB 在 XML 和数据存储之间传输数据的工作量。

于 2011-04-06T22:48:55.803 回答