4
hibernateクエリ言語を使用して、mySQL DBのvarcharカラムの最大値を見つけることを試みています。HQLを使用するvarcharカラムのMAX
これは私がやろうとしていますクエリがあり、これはネイティブSQLで正常に動作します:
列select max(cast(rs.marks as unsigned)) from Results rs;
:マークはvarchar型です。
(すべての値がテキストとして保存されている)のカラムマークは、以下の行を持っている場合とします
65
75
82
41
その後、クエリが私にユニークな結果「82」を返す必要があります。 しかし、私はHQLでも同じことを書いていますが、うまくいきません。誰でも私にHibernateでこれを書く方法を教えて助けてもらえますか?
コンソールは言う:
java.lang.IllegalStateException: No data type for node:org.hibernate.hql.ast.tree.AggregateNode [AGGREGATE] AggregateNode: 'max' [METHOD_CALL] MethodNode: '(' [METHOD_NAME] IdentNode: 'cast' {originalText=cast} [EXPR_LIST] SqlNode: 'exprList' [DOT] DotNode: 'results0_.marks_' {propertyName=marks,dereferenceType=4,propertyPath=marks,path={synthetic-alias}.marks,tableAlias=results0_,className=com.Results,classAlias=rs} [IDENT] IdentNode: '{synthetic-alias}' {originalText={synthetic-alias}} [IDENT] IdentNode: 'marks' {originalText=marks} [IDENT] IdentNode: 'unsigned' {originalText=unsigned}
どのように動作しませんか? –