我正在使用struts2和hibernate。有谁知道是否可以将查询结果作为XML而不是域对象的ArrayList返回?
答案 0 :(得分:2)
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,没有等效的注释。
答案 1 :(得分:1)
Hibernate是一个Object-Relational Mapper,意味着它将Relational数据库映射到对象。您希望使用Hibernate返回一个对象,然后使用XML Serializer转换为XML。
Simple Serializer可能是最好的开始使用。该网站包含许多教程和示例。
http://simple.sourceforge.net/
然而,有大量的XML Serializer for Java:
http://karussell.wordpress.com/2009/09/03/xml-serializers-for-java/
答案 2 :(得分:0)