如何使用Java中的Document对象初始化SQLXML

时间:2012-08-02 14:06:24

标签: hibernate jpa sqlxml

如何将org.w3c.dom.Document对象转换为java.sql.SQLXML,以便可以使用Hibernate将其持久保存到数据库中?目前我可以通过javax.xml.transform.Transformer将其转换为String来使其工作,但我认为这是效率最低的方法。

我尝试过以下操作,但没有任何内容保存到数据库列中。

SQLXML sqlxml = session.connection().createSQLXML();
sqlxml.setResult(DOMResult.class).setNode(myDocument);
preparedStmt.setSQLXML(index, sqlxml);

1 个答案:

答案 0 :(得分:1)

实际上,它没有按预期工作,只需使用javax.xml.transform.sax.SAXResult来使其工作:

SQLXML sqlxml = stmt.getConnection().createSQLXML();
SAXResult sax = sqlxml.setResult(SAXResult.class);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(new DOMSource(document), sax);
stmt.setSQLXML(index, sqlxml);