在不映射到特定 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>>
类型的结果
我正在尝试解决一个问题,我想编写一些通用的 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>>