我有以下自定义方言功能:
registerFunction("weight_running_total",
new SQLFunctionTemplate(Hibernate.STRING, "(@runtot := @runtot + weight)"))
// This one takes an argument and saves it off in a variable named @val, that can be retrieved later in the same connection
registerFunction("save_off_last_value",
new SQLFunctionTemplate(Hibernate.STRING, "@val := ?1"))
但是,Hibernate 不仅仅是通过,而是抱怨冒号,并给了我“无效的过滤器参数名称格式”异常。我发现其他人有这个问题,但还没有看到解决方案,所以在这里寻求帮助......
顺便说一句,这是 Hibernate 3(目前无法升级),b/c 我正在使用 Grails。