【发布时间】:2011-07-19 06:19:24
【问题描述】:
我正在使用具有 XML 列类型的 postgres v8.3。 DDL 看起来像这样:
CREATE TABLE contact (
"ID" INTEGER NOT NULL ,
"NAME" VARCHAR NOT NULL,
"Details" XML , ......
在映射 hbm.xml 文件中,我将其映射如下:
<key-property name="Details" type="java.lang.String" >
<column name="Details" />
</key-property>
我猜这是错误的原因: 没有 JDBC 类型的方言映射:1111 当我使用:
运行选择查询时List<?> contactList= session.createSQLQuery("select * from contact where id=" + val.getId() + " and name= '" + val.getName + "'").list();
但是我可以将“XML”类型映射到 java 数据类型的另一种方法是什么?
【问题讨论】:
-
nIKUNJ 的回答是正确的,它为我解决了这个问题。我在从 spring 2.x 升级到 spring 3 时遇到了这个问题。不知道为什么字符串到 xml 列的不匹配映射以前起作用,但是升级肯定开始导致这些:org.hibernate.exception.SQLGrammarException:无法执行JDBC批量更新