Je voudrais écrire une requête hql en utilisant une instanciation dynamique avec une liste comme l'un de ses paramètres.Hibernate instanciations dynamiques avec des collections, est-ce possible?
Exemple simplifié:
Une requête HQL avec une instanciation dynamique:
select new x.y.UserDto(u.name, u.contacts) from User u where u.xyz=:param1 ...
et mon constructeur de la classe DTO est:
public class UserDto {
private String name;
private List contacts;
public UserDto(String name, List contacts) {
this.name = name;
this.contacts = contacts;
}
...
}
Et la mise en correspondance de l'entité:
public class User {
@olumn(name="NAME")
String name;
@ManyToMany(targetEntity= Contacts.class, fetch = FetchType.EAGER)
@JoinTable(name="USER_DEPARTMENT_CONTACTS",
[email protected](name="DEPARTMENT_ID"),
[email protected](name="USER_ID"))
private List<Contacts> contacts;
...
}
Donc, comme vous pouvez le voir, tout ce que je veux, c'est créer un nouvel objet qui a des propriétés et des collections d'une entité.
Je peux comprendre qu'Hibernate ait besoin d'une ou de plusieurs requêtes pour y parvenir car cela générerait plusieurs lignes de résultat pour chaque entité.
Est-ce que quelqu'un sait s'il est possible de créer un nouvel objet qui est une combinaison de propriétés et de collections?