2017-12-18 325 views
1

我正在使用MS SQL数据库服务器来处理数据,并且我有用于数据库映射的Hibernate框架。我需要生成特定的数据(从... ...中选择)到XML,但不知道如何。我试图在网上搜索,但没有...如何在Hibernate框架中正确生成xml

我有2个想法,但你可能会建议更有经验的方法来解决这个问题。

  1. 在db层中使用FOR XML生成xml。 - >这里我不知道在冬眠中选择什么结果...?串?不知道。
  2. 从数据库检索列表,然后用java该列表转换成XML,例如使用该>​​

你有什么建议?谢谢

+0

您可能不需要xml定义,因为Hibernate也可以映射到JPA。 – Alexcocia

回答

0

有许多不同的参数可以作为决定最佳方法的基础(例如,数据库无关是否很重要?是否提供任何xml模式作为生成输出的基础?输出是否会被使用/访问?等)

如果您要生成的输出类似于数据的普通转储,并且将来会用于将数据导入数据库(或类似的用法),那么也许只是在数据库层中生成输出就足够了。但大多数时候情况并非如此。我强烈建议在应用程序层中生成输出,以便您可以更好地控制将来生成和定制的方式。您可以使用普通的hibernate查询获取数据并使用(如您所述)JAX-B将其序列化为XML。

0

我不会在数据库级别生成XML。由于您已经在使用Hibernate,因此您可以将实体对象转换为数据传输对象(DTO),该对象基本上是同一个对象,但这次打算由库进行编组和解组。而不是JAXB,你可能想看看杰克逊,这有点复杂(Google for xml jackson),如果有人决定输出应该用JSON或YAML来代替,那么它很容易改变。