Je les deux classes (Java Hibernate) suivantes:Hibernate héritage Requêtes (critères)
public class Grupo{
//plain Attributes
}
et
public class Salon extends Grupo{
//plain Attributes
}
ayant des objets des deux types.
en utilisant la requête des critères suivants:
s.createCriteria(Grupo.class).list();
Je reçois tous les objets de type Grupo, qui est Grupo et Salon, comme prévu. Donc, ce que je veux savoir c'est que s'il y a un moyen dans Criteria Query d'obtenir facilement seulement les objets "Grupo" qui ne sont pas des objets "Salon". Je vais m'abstenir d'utiliser des discriminateurs si possible (dans db les deux classes ont leurs propres tables)
Toute aide sera grandement appréciée.
EDIT: Correction de la syntaxe java incorrecte, comment boiteux de moi.
Eh bien merci quand même pour l'aide. Comme il est préférable de ne pas modifier la structure de classe ou le schéma de mappage, la solution consiste à supprimer manuellement les instances de salon à l'aide de "instanceof", la quantité d'objets ne sera jamais trop importante et le temps de calcul sera toujours linéaire. donc je pense que cela n'aura pas d'impact sur la performance. Cependant, il est triste qu'hibernate n'ait aucun moyen de le faire directement car je ne pense pas que l'utilisation de discriminateurs est la bonne façon car elle utilise une solution de contournement sql au lieu de l'abstraction OOP Hibernate fournit généralement –