2012-08-02 73 views
1

如何將org.w3c.dom.Document對象轉換爲java.sql.SQLXML以便可以使用Hibernate將其保存到數據庫中?目前我可以通過javax.xml.transform.Transformer將它轉換爲字符串來工作,但我認爲這是效率最低的方法。如何使用Java中的Document對象初始化SQLXML

我試過以下,但沒有保存到數據庫列。

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

回答

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); 
+0

當然使用SAX是沒有必要? – mjaggard 2013-09-04 09:31:51