在不映射到特定 class 的情况下使用休眠

Using hibernate without mapping to a particular class

我正在尝试解决一个问题,我想编写一些通用的 Hibernate 代码来从 SQL table 的分类中获取记录。我需要每个 table 中的几列,并且由于一些现有的技术债务,在某些 table 中,这些列存储 same/similar 列名称略有不同的数据。

我采用的方法是使用 createSQLQuery API(在 org.hibernate.Session 上找到)并传入一些自定义查询。

这returns我的列表列表。

[["val 1", "val 2", "val 3"], ["val 4", "val 5", "val 6"]]

我希望它看起来更像一个字典,其键是列名。我显然可以自己编写代码。但是,是否可以让 Hibernate 给我这个而不必映射到特定的 类?

请尝试在您的查询中设置 ResultTransformer:

query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);

这将得到 List<Map<String,Object>>

类型的结果