使用
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 Mappermissions = new HashMap (0);



