【发布时间】:2011-03-04 15:51:49
【问题描述】:
当我在 sqldeveloper 中运行它时:
SELECT CASE
WHEN TABLE1.COL1 IS NOT NULL
THEN (
CASE
WHEN TABLE1.COL2 IS NOT NULL
THEN TABLE1.COL3
ELSE TABLE1.COL4
END)
WHEN TABLE1.COL5 IS NOT NULL
THEN TABLE1.COL6
ELSE TABLE1.COL7 END "C" FROM TABLE1
它运行良好。 当我通过 Hibernate 会话运行它时,它给出:
No Dialect mapping for JDBC type: -101
所有列都是 varchar2 类型。 col1 是数字类型。 数据库是oracle 10g。 如果解决方案不明显,也欢迎使用解决方法:) 另外,我怎样才能找出 JDBC 类型 -101 指的是什么。我以前见过-1,但没见过-101。
编辑:我尝试在命名查询之上使用返回标量没有运气。
编辑#2:有没有办法查看为“C”返回的数据类型是什么。然后我使用答案中提供的解决方案之一。
【问题讨论】: