1

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

我尝试了以下方法,但没有任何内容保存到 DB 列中。

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

1 回答 1

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);
于 2012-10-30T13:50:50.690 回答