2009-02-25 4 views

Répondre

36

Je n'ai trouvé aucune spécification du comportement dans les documents Hibernate, mais l'opérateur between dans HQL est traduit dans l'opérateur between dans SQL, ce qui est inclusif.

Alors between dans HQL est également inclus, qui est

A between 5 and 10 

est équivalent à

A >= 5 and A <= 10 
+1

est ici la spécification sur JPQL entre: http://docs.oracle.com/cd/E17904_01 /apirefs.1111/e13946/ejb3_langref.html#ejb3_langref_between – gerrytan

2

évidemment il y a une certaine confusion à ce sujet. le langage naturel suggère qu'il est exclusif, mais ce n'est pas vrai. en réalité, A> = 5 et A < = 10. car il y avait déjà des réponses données contredisant (et delted), il doit y avoir plus de précisions: (de http://www.techonthenet.com/sql/between.php)

Example #1 - Numbers 

The following is an SQL statement that uses the BETWEEN function: 

SELECT * 
FROM suppliers 
WHERE supplier_id between 5000 AND 5010; 

This would return all rows where the supplier_id is between 5000 and 5010, inclusive. It is equivalent to the following SQL statement: 

SELECT * 
FROM suppliers 
WHERE supplier_id >= 5000 
AND supplier_id <= 5010;