我正在使用postgres v8.3,其columntype为XML。 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类型的无Dialect映射:1111 当我使用:
运行选择查询时List<?> contactList= session.createSQLQuery("select * from contact where id=" + val.getId() + " and name= '" + val.getName + "'").list();
但是我可以将“XML”类型映射到java数据类型的另一种方式是什么?
答案 0 :(得分:2)
答案 1 :(得分:1)
Use addScalar();
例如
session.createSQLQuery("select public.flcpool_backup()")
.addScalar("id", Hibernate.BIG_INTEGER)
.addScalar("caf_tbl_id", Hibernate.BIG_INTEGER)
.executeUpdate();
答案 2 :(得分:0)
尝试在hibernate.cfg.xml中为postgres定义连接方言“hibernate.dialect
”。