2013-02-03 3 views
0

두 개의 열을 기반으로 계산 된 술어를 작성하고 싶습니다. 예를 들면 - daysBetween (int) 및 lastSent (date)가 있습니다.JPQL - 술어와 기준 API

나는 다음과 같은 쿼리를 수행 할 가능성이 있는지 알고 싶습니다 :

X에서 선택

지금 어디 유사()

뭔가 작음 [간격 다른 칼럼]를 last_sent + (나는 지금 그것을 작성하는 올바른 방법이 아닌 ..),

builder.between(userData.<Date>get("lastSent").addDays(userIntervals.<Integer>get("interval")),DateUtils.now()); 

어쨌든 술어를 사용하여 이러한 쿼리를 작성 있습니까?

답변

0

JPA 기준에는 addDays() API가 정의되어 있지 않습니다. 당신은 어떤 JPA 공급자가 JPQL 및 기준에 대한 확장을 제공하는 기능() API를 통해

참조, http://en.wikibooks.org/wiki/Java_Persistence/Criteria#Special_Operations

를 데이터베이스 특정 함수를 호출 할 수 있습니다.

참조, http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Criteria#JpaCriteriaBuilder_and_EclipseLink_Extensions

하고,

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/JPQL#EclipseLink_Extensions_.28EQL.29