[Hibernate] passer "null" à un constructeur dans la requête
Bonjour,
J'ai une requête du style :
Code:
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:
1 2 3
| select new com.myCompany.MyObject(a.id)
from com.myCompany.dto.ObjetA a, com.myCompany.dto.ObjetB b
where ... |
et
Code:
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:
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:
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!