为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8.4
【操作系统】:windows 11
【CPU】:x86
【问题描述】*:项目使用版本为jdk21.0.8,hibernate6.3.1,达梦版本为8.4,使用的驱动为达梦安装包下的DmJdbcDriver11.jar、DmDialect-for-hibernate6.3.jar。sql写法为,当传递参数contractName为null时,查询报错:数据类型不匹配。打印出来的sql为
。表结构中contractName这个字段都是VARCHAR。

这是开启兼容Oracle模式了吧?
select * from v$dm_ini where para_name='COMPATIBLE_MODE';
这个SQL查询结果应该是2吧?
如果没有兼容需求的话,调整成其他的应该可以避免。
同时可以查询一下
SELECT * FROM V$DM_INI WHERE PARA_NAME='BLANK_PAD_MODE'; --查询当前值看看是否为1 ,同时可以尝试将代码的'' 修改成' '应该就不会报错了