Imaginez que j'ai 2 entités et cette requête:expression constructeur Hibernate HQL
select p, n.name
from ProductOffering p
left join ProductOfferingName n on (n.productOfferingId = p.productOfferingId and n.salesChannelId= :salesChannelId)
Hibernate fera requête sql avec tous colums de p et la colonne de nom de n et me retourner Object []. Mais face à l'objet [] est de type-safe, donc je vais essayer d'utiliser « l'expression constructeur »:
select new com.peterservice.ccm.pom.internal.api.model.ProductOfferingResult(p, n.name)
from ProductOffering p
left join ProductOfferingName n on (n.productOfferingId = p.productOfferingId and n.salesChannelId= :salesChannelId)
Avec cette requête Hibernate ne sélectionnez p.id + n.name et pour chaque ligne il émission "select * from ProductOffering p où p.id =: id" (n + 1 problème)
Ce comportement est-il normal et attendu?