Я хотел бы написать hql-запрос, используя динамическое создание экземпляра со списком в качестве одного из его параметров.
Упрощенный пример:
HQL-запрос с динамическим созданием:
select new x.y.UserDto(u.name, u.contacts) from User u where u.xyz=:param1 ...
и мой конструктор класса dto:
public class UserDto {
private String name;
private List contacts;
public UserDto(String name, List contacts) {
this.name = name;
this.contacts = contacts;
}
...
}
И отображение сущности:
public class User {
@olumn(name="NAME")
String name;
@ManyToMany(targetEntity= Contacts.class, fetch = FetchType.EAGER)
@JoinTable(name="USER_DEPARTMENT_CONTACTS",
joinColumns=@JoinColumn(name="DEPARTMENT_ID"),
inverseJoinColumns=@JoinColumn(name="USER_ID"))
private List<Contacts> contacts;
...
}
Итак, как вы можете видеть, все, что я хочу, - это создать новый объект, который имеет некоторые свойства и коллекции сущности.
Я могу понять, что Hibernate потребуется один или несколько запросов для достижения этой цели, поскольку это приведет к созданию нескольких строк результатов для каждой сущности.
Кто-нибудь знает, возможно ли создать новый объект, который представляет собой комбинацию свойств и коллекций?