如何将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);
答案 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);