【发布时间】:2014-07-15 06:32:12
【问题描述】:
完美的ms-sql语句
SELECT distinct ProductLineCode ,
(SELECT CAST(ItemName + ', ' AS VARCHAR(MAX)) FROM Product spt
where spt.ProductLineCode = pt.ProductLineCode FOR XML PATH (''))
as ItemNames FROM Product pt where ProductLineCode is not null
在休眠中作为本机查询执行时会导致错误。
org.hibernate.MappingException:没有 JDBC 类型的方言映射:-16
我猜想 JDBC type: -16 是布尔值,但这并没有说明什么。产品表具有 xml 映射,并且可以运行数月。 能否请您指导我接下来要尝试什么?
【问题讨论】:
-
Lokks 无法为某些 DB 类型添加正确的 Java 类型。 (可能是 VARCHAR(MAX))。尝试使用查询列的结果类型
-
删除 AS VARCHAR(MAX) 导致 org.hibernate.util.JDBCExceptionReporter -17190 [main] - SQL 错误:org.hibernate.util.JDBCExceptionReporter -17191 [main] - 'CAST' 附近的语法不正确,应为“AS”。
-
尝试其他类型。例如VARCHAR(100)