J'écris une requête HQL, sous forme de:de retour données supplémentaires de HQL
from a where ... or exists (from b inner join b.c where ...) and ...
je reviens une entité de type a
de cette requête. Cependant, je dois aussi savoir si la clause exists
est revenue vrai ou pas plus tard dans mon code. Si c'était SQL, je l'ajouterais à la liste de sélection. Cependant, même si j'ajouter à la clause select HQL, de sorte qu'il devient:
select a, exists (from b inner join b.c where ...) as x from a where ... or x and ...
Dans mon code, je dois maintenant choisir entre l'affichage des données non typées, ou l'affichage des entités typées de type a
et jeter ma valeur x
qui est revenu avec.
Existe-t-il un moyen de récupérer en quelque sorte les données dactylographiées plus la colonne supplémentaire?
Je suis allé sur la route 'aliastobeanresulttransformer'. Cependant, j'ai besoin d'utiliser un type d'utilisateur (IUserType) pour mapper l'une des colonnes. Y a-t-il un moyen de faire cela? –
Cela devrait fonctionner de manière transparente; sélectionnez simplement la propriété IUserType-dependent en utilisant hql; il devrait être traité comme si vous étiez en train de sélectionner une entité régulière. – DanP
* aliastobeanresulttransformer *! Je souhaite que nous puissions abandonner une partie de cette terminologie folle dans nhibernate. – UpTheCreek