我正在尝试在命名查询中调用函数,但是我得到了:
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.MethodNode
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'MYFUNCTION' {originalText=MYFUNCTION}
\-[EXPR_LIST] SqlNode: 'exprList'
\-[NUM_INT] LiteralNode: '1'
我的查询类似于
@NamedQuery(name = "myQuery",
query = " select r, MYFUNCTION(r.id) from ResPO r "
+ " where r.status like 'A'")
如果我简化了我的查询,一切正常:
@NamedQuery(name = "myQuery",
query = " select r from ResPO r "
+ " where r.status like 'A'")
错误是什么? 感谢++
答案 0 :(得分:1)
您可以通过扩展您正在使用的方言并通过调用registerFunction()
方法注册您的功能来实现。