Entity クラスの String プロパティ (VARCHAR 列) で CriteriaBuilder クラスの算術メソッド (sum、avg など) を使用する適切な方法はありますか?
関連するフィールドは次のとおりです。
@Column(name="GRADE")
private String grade;
そして、私がやりたいことは次のとおりです。
Expression ex = criteriaBuilder.avg(root.get("grade");
Entity クラスの String プロパティ (VARCHAR 列) で CriteriaBuilder クラスの算術メソッド (sum、avg など) を使用する適切な方法はありますか?
関連するフィールドは次のとおりです。
@Column(name="GRADE")
private String grade;
そして、私がやりたいことは次のとおりです。
Expression ex = criteriaBuilder.avg(root.get("grade");
文字列 (VARCHAR) データ型で集計関数を使用することはできません。
Oracle http://docs.oracle.com/cd/E12839_01/doc.1111/e12048/funcbltag.htmの参照で
Hibernate での集計関数の通常の使用法は、hibernate を使用することですprojections
List results = session.createCriteria(SomeClass.class)
.setProjection( Projections.projectionList()
.add( Projections.avg("someCloumn") )
)
.list();
これは、bitint、float、および intのみのデータ型を持つ列ウィッチの場合にも当てはまります。