Équivalent des critères dans spring-data-jpa

J'ai été en utilisant hibernate mais j'ai entendu dire que spring-data-jpa est le meilleur, donc j'ai essayer et je suis satisfaire avec elle jusqu'à ce que je fais face à ce problème.

J'ai un formulaire de recherche dans mon jsp avec de nombreux critères, et l'utilisateur peut choisir ce qu'il veut.

Quel est donc l'équivalent de cette demande spring-data-jpa

if(startDate!=null){
    criteria.add(Expression.ge("date",startDate));
}
if(endDate!=null){
    criteria.add(Expression.le("date",endDate));
}
if(volume!=null){
    criteria.add(Expression.ge("volume",volume));
}
if ....

source d'informationauteur Youssef