有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

选择列表中的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) 个答案