使用select new map
HQL中的语法获取中的每一行的结果Map
。让我们看一下解决该问题的以下问题:如何以list或hashmap的关联数组获取hibernate查询结果。例如,下面的HQL:select new map(perm.id as pid, perm.name as pname) from Permission perm
将返回List
的Map
S,每一个与键“PID”和“PNAME”。
无法将关联映射到Map<String, String>
。可以将Map的键映射到@MapKeyColumn
关联中带有注释的列。例如,请参阅此问题,该问题也解决了该问题:JPA 2.0 Hibernate @OneToMany+@MapKeyJoinColumn。这是另一个例子。
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinTable(name = “perm_cat_map”, joinColumns = { @JoinColumn(name = “perm_cat_id”) }, inverseJoinColumns = { @JoinColumn(name = “permission_id”) }) @MapKeyColumn(name=”permission_id”) private Map