我已将项目从 spring 3.2 更新到 4.1,将 hibernate 4.2 更新到 4.3.7,并遇到了有趣的问题。 我有疑问:
function parameter: String email;
getQuery(getSelect() + "where lower(o.email) = lower(:email)").setParameter("email", email);
现在,在得到结果后我得到了
org.postgresql.util.PSQLException:错误:函数 lower(bytea) 确实 不存在提示:没有函数与给定的名称和参数匹配 类型。您可能需要添加显式类型转换。
但是如果我打电话
getQuery(getSelect() + "where lower(o.email) = lower('test')")
或
getQuery(getSelect() + "where lower(o.email) = lower(:email)").setParameter("email", "test")
效果很好。
setParameter("email", email, StringType.INSTANCE) - 解决了我的问题,感谢您的帮助!