0

我正在使用带有休眠功能的struts2。有谁知道是否可以将查询结果作为 XML 而不是域对象的 ArrayList 返回?

4

3 回答 3

2

Hibernate 默认映射和持久化数据库记录,认为是 POJO,但实际上它也支持通过使用称为 动态模型的实验特性以 XML 形式持久化、映射和表示数据库记录。

例如,要以 XML 格式输出记录:

/**Get the a new session that is in the DOM4J EntityMode**/
Session dom4jSession = session.getSession(EntityMode.DOM4J);
Element outputXML=(Element) dom4jSession.get(Employee.class, employeeId);
XMLWriter writer = new XMLWriter( System.out, OutputFormat.createPrettyPrint() );
writer.write( outputXML);

配置输出 XML 的格式,只能通过映射 XML 中的实体来实现。AFAIK,没有等效的注释。

于 2012-05-02T10:45:06.717 回答
1

Hibernate 是一个对象关系映射器,这意味着它将关系数据库映射到对象。您想使用 Hibernate 返回一个对象,然后使用 XML Serializer 转换为 XML。

Simple Serializer 可能是最好的入门工具。该网站包含大量教程和示例。

http://simple.sourceforge.net/

但是有大量的用于 Java 的 XML 序列化器:

http://karussell.wordpress.com/2009/09/03/xml-serializers-for-java/

于 2012-05-02T08:21:55.557 回答
0

也许你可以,一旦你得到结果,使用XStream将整个结果解析为 XML。此处提供了有关 XStream 的简单教程。

于 2012-05-02T08:18:34.480 回答