2017-09-07 3 views
0

code:prédicat listes condition JPA 2.0 dans le générateur de requête

List<Predicate> conditionsList = new ArrayList<Predicate>(); 
Predicate onStart = criteriaBuilder.greaterThanOrEqualTo(criteriaRoot.get("insertDateTime"), startTradeDate); 
Predicate onEnd = criteriaBuilder.lessThanOrEqualTo(criteriaRoot.get("insertDateTime"), endTradeDate); 
conditionsList.add(onStart); 
conditionsList.add(onEnd); 

CriteriaBuilder criteriaBuilder = this.entityManager.getCriteriaBuilder(); 
CriteriaQuery<MyClass> criteriaQuery = 
criteriaBuilder.createQuery(MyClass.class); 
Root<MyClass> criteriaRoot = criteriaQuery.from(MyClass.class); 
criteriaQuery.select(criteriaRoot).where(conditionsList); 

La dernière ligne ci-dessus ne compile pas parce que son l'objet conditionsList attendent d'être une liste de booléenne pas la liste des prédicats.

S'il vous plaît me conseiller sur la bonne façon d'ajouter des prédicats ci-dessus aux critères hibernate?

+0

Vous devez ajouter l'erreur du compilateur – perissf

Répondre

0

Convertir le List<Predicate> dans un tableau Predicate[] comme ceci:

criteriaQuery.select(criteriaRoot).where(conditionsList.toArray(new Predicate[] {}));