【发布时间】:2018-02-12 21:12:25
【问题描述】:
我有一个持久化到数据库的下一个类。
class User {
private long id;
@AttributeOverride(name = "id", column = @Column(name = "role_id"))
@Embedded
@ElementCollection
private List<RoleId> roles;
}
class RoleId {
private String id;
}
我想得到这门课的下一个投影。
class UserProjection {
private long id;
private List<String> roles;
}
其中List<String> roles 是收集的用户RoleId.id 列表。
为此,我编写了下一个 HQL:
select new UserProjection(id, elements(roles)) from User where id = :id
当然它不起作用,因为角色是 RoleId 对象。如何使用 HQL 将 List<RoleId> 转换为 List<String>。有可能吗?
UPD:
所以,我认为这是不可能的,或者几乎是不可能的。而不是这个,我使用 CriteriaAPI。
【问题讨论】:
标签: hibernate spring-data-jpa hql