2012-08-14 73 views
0

是否有任何正確的方式使用CriteriaBuilder類的算術方法(和值,平均值等)與實體類的字符串屬性(VARCHAR列)?使用類型字符串的DB字段上的JPA進行算術運算

下面是相關領域:

@Column(name="GRADE") 
private String grade; 

而我想要做的是:

Expression ex = criteriaBuilder.avg(root.get("grade"); 

回答

1

這是不可能使用的字符串(VARCHAR)數據類型聚合函數

在Oracle http://docs.oracle.com/cd/E12839_01/doc.1111/e12048/funcbltag.htm

的reffrence

聚合函數的普通Usesage在Hibernate是通過使用休眠projections

List results = session.createCriteria(SomeClass.class) 
    .setProjection(Projections.projectionList()   
     .add(Projections.avg("someCloumn"))  
    ) 
    .list(); 

這也是僅用於柱女巫具有數據類型bitint, float和int而已。