2012-08-14 2 views
0

CriteriaBuilder 클래스의 산술 연산 (sum, avg 등)을 Entity 클래스의 String 속성 (VARCHAR 열)과 함께 사용하는 적절한 방법이 있습니까? 여기 JPA를 사용한 문자열 유형의 DB 필드에 대한 산술 연산

관련 필드 :

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

그리고 제가하고 싶은 것은 :

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

답변

1

문자열 (VARCHAR) 데이터 형식에 집계 함수을 사용할 수 없습니다. 오라클 http://docs.oracle.com/cd/E12839_01/doc.1111/e12048/funcbltag.htm

의 reffrence 절전 집계 기능

정상 Usesage에서

이다 사용하여 절전 projections

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

에만이 열에 대한 마녀 데이터 유형같은 bitint 갖는 때문이다 또한, float 및 int 만 해당됩니다.