2017-10-25 13 views
0

私は多くの方法でこれを試してみてください最後に、私は方法を発見したが、それはHQL次のLinux環境で動作していないはSessionFactoryのオブジェクトの作成に失敗しました:java.lang.IllegalStateException HQL

SELECT es.eventId as eventId, MAX(es.raisedTimestamp) as raisedTimestamp, es.id as id, es.isReset as isReset FROM EsEvent es WHERE es.isReset=1 GROUP BY es.eventId ORDER BY es.raisedTimestamp DESC 

これが終了するということですmysqlのONLY_FULL_GROUP_BYモードを有効にしてください。

私はANY_VALUE()関数を私のhqlに1つ下に追加しました。

SELECT es.eventId as eventId, MAX(es.raisedTimestamp) as raisedTimestamp, ANY_VALUE(es.id) as id, es.isReset as isReset FROM EsEvent es WHERE es.isReset=1 GROUP BY es.eventId ORDER BY ANY_VALUE(es.raisedTimestamp) DESC 

は、この場合にはこれを修正するために、この

Failed to create sessionFactory object: java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode +-[METHOD_CALL] MethodNode: '('| +-[METHOD_NAME] IdentNode: 'ANY_VALUE' {originalText=ANY_VALUE}| \-[EXPR_LIST] SqlNode: 'exprList'|  \-[DOT] DotNode:'esevent0_.ID'{propertyName=id,dereferenceType=PRIMITIVE,getPropertyPath=id,path=es.id,tableAlias=esevent0_,className=org.reactor.monitoring.model.entity.EsEvent,classAlias=es}|  +-[ALIAS_REF] IdentNode: 'esevent0_.ID' {alias=es, className=org.reactor.monitoring.model.entity.EsEvent, tableAlias=esevent0_} |  \-[IDENT] IdentNode: 'id' {originalText=id} 

いずれかが私を助けることができるしてくださいようなHQL例外となってしまいます。それは本当に有益で、もし私がこれの背後に理由を与えることができればそれは非常に感謝しています。

答えて

関連する問題