Bonjour,

J'ai une requête du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select new com.myCompany.MyObject(a.id, b.id) 
from com.myCompany.dto.ObjetA a, com.myCompany.dto.ObjetB b
where ...
ou les 2 champs id sont du même type (String ou Long, dans mon cas).

Je souhaiterais créer les 2 requêtes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select new com.myCompany.MyObject(a.id) 
from com.myCompany.dto.ObjetA a, com.myCompany.dto.ObjetB b
where ...
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select new com.myCompany.MyObject(b.id) 
from com.myCompany.dto.ObjetA a, com.myCompany.dto.ObjetB b
where ...

mais comme mes objets sont du même type, je ne peux pas créer 2 constructeurs.

Ma question est : puis-je faire quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select new com.myCompany.MyObject(a.id, null) 
from com.myCompany.dto.ObjetA a, com.myCompany.dto.ObjetB b
where ...
ce qui me retourne tel quel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
org.hibernate.hql.ast.QuerySyntaxException: Unable to locate appropriate constructor on class com.myCompany.MyObject
Sinon, il me reste l'option de créer un constructeur avec un boolean en paramètre supplémentaire.

Merci de votre aide!