【发布时间】:2012-05-02 08:16:06
【问题描述】:
我正在使用带有休眠功能的 struts2。有谁知道是否可以将查询结果返回为 XML 而不是域对象的 ArrayList?
【问题讨论】:
-
您可以将整个 xml 对象作为字符串,然后在获取时将其重新解析回 xml。
标签: java xml hibernate struts2
我正在使用带有休眠功能的 struts2。有谁知道是否可以将查询结果返回为 XML 而不是域对象的 ArrayList?
【问题讨论】:
标签: java xml hibernate struts2
Hibernate 默认映射和持久化数据库记录,思想是 POJO,但实际上它也支持通过使用称为 Dynamic models 的实验性功能以 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);
到configure the format of the outputted XML,只能通过在XML中映射实体来实现。 AFAIK,没有等效的注释。
【讨论】:
Hibernate 是一个对象关系映射器,这意味着它将关系数据库映射到对象。您想使用 Hibernate 返回一个对象,然后使用 XML Serializer 转换为 XML。
Simple Serializer 可能是最好的入门工具。该网站包含大量教程和示例。
http://simple.sourceforge.net/
然而,Java 有大量的 XML 序列化器:
http://karussell.wordpress.com/2009/09/03/xml-serializers-for-java/
【讨论】: