2010-06-23 12 views
3

J'ai la spécification des critères suivants et je voulais savoir s'il y avait une différence dans les performances ou l'utilisation de la mémoire de ceux-ci. 1er chemin:Y a-t-il une différence de performance entre ces deux instructions?

criteria.add(Restrictions.eq("case.estadoOperativo", Caso.EstadoOperativo.COMPLETADO)) 
     .add(Restrictions.eq("case.estadoAdministrativo", Caso.EstadoAdministrativo.TARIFICADO)); 

2ème façon:

criteria.add(Restrictions.eq("case.estadoOperativo", Caso.EstadoOperativo.COMPLETADO)); 
criteria.add(Restrictions.eq("case.estadoAdministrativo",Caso.EstadoAdministrativo.TARIFICADO)); 

Répondre

1

En bref, non. Après la compilation, criteria.add et .add deviendront fonctionnellement identiques. Il y a une possibilité que l'un ou l'autre soit légèrement plus rapide à compiler, mais la différence serait celle de quelques nanosecondes de temps de compilation et aucune différence à l'exécution.

+0

juste la réponse que je cherchais. Je vous remercie –

4

Il n'y a pas de différence, la méthode add retourne this (pour le chainage des méthodes), et non une nouvelle instance.

1

Non. De la documentation api à http://docs.jboss.org/hibernate/core/3.3/api/

add(Criterion criterion) 
    Add a restriction to constrain the results to be retrieved. 

Vous n'avez pas encore récupéré réellement aucun résultat. Aucune de vos restrictions n'aura d'importance jusqu'à ce que vous appeliez .list()