Bonjour,
J'ai une requête du style :
ou les 2 champs id sont du même type (String ou Long, dans mon cas).
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 ...
Je souhaiterais créer les 2 requêtes suivantes :
et
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 ...
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 :
ce qui me retourne tel quel :
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 ...
Sinon, il me reste l'option de créer un constructeur avec un boolean en paramètre supplémentaire.
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
Merci de votre aide!
Partager