选择列表中的java调用oracle函数:节点无数据类型
我需要在查询的select中调用oracle函数,但是我总是为节点获取无数据类型。这里有一个极简主义者的例子来说明我正在努力做什么:
var qN = QNazione.nazione;
var result = qu.query()
.select(Expressions.simpleTemplate(Integer.class, "MyOracleFunc({0})", qN.transazioneId))
.from(qN)
.fetch();
我得到的错误是:
java.lang.IllegalArgumentException: org.hibernate.QueryException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode \-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'MyOracleFunc' {originalText=MyOracleFunc}
\-[EXPR_LIST] SqlNode: 'exprList'
\-[DOT] DotNode: 'nazione0_.num_prg_ana_trn' {propertyName=transazioneId,dereferenceType=PRIMITIVE,getPropertyPath=transazioneId,path=nazione.transazioneId,tableAlias=nazione0_,className=it.mysample.model.nazione.Nazione,classAlias=nazione}
+-[ALIAS_REF] IdentNode: 'nazione0_.num_prg_ana_cli_cmmt, nazione0_.cod_nazne' {alias=nazione, className=it.coop.coopitalia.evd.model.nazione.Nazione, tableAlias=nazione0_}
\-[IDENT] IdentNode: 'transazioneId' {originalText=transazioneId}[select MyOracleFunc(nazione.transazioneId) from it.mysample.model.nazione.Nazione nazione]
我错在哪里?我没有找到关于SimpleComplete的优秀文档
我正在使用
- Querydsl 4.4.0
- 休眠5.4.32
共 (0) 个答案