Hibernate:使用列的值作为“key”获取Map,并将“value”作为包含“key”的行列表

时间:2012-05-02 01:40:33

标签: java hibernate

下午好,

我有以下实体:

@Entity(name = "t_test")
public class Test {
    private int id;
    private String name;
    private String type;
....

我基本上想创建一个只返回一个Map的查询/条件,其中键是Test.type的不同值,而map的值是具有相应type属性的Test对象列表。 例如:地图>

这可以在一个查询中完成吗?现在我只是抓取所有内容并按代码创建地图。

提前致谢!

1 个答案:

答案 0 :(得分:1)

你可以编写一个ResultTransformer来创建并返回地图,但它与你现在正在做的事情没什么不同。代码只是在不同的地方。

要生成Map<String, List<Test>>,您无论如何都需要从数据库加载所有测试条目。除了type之外,没有与地图创建相关的处理可以移动到更靠近数据库的位置。你基本上必须在你的代码中制作地图。