【问题标题】:Using hibernate without mapping to a particular class使用休眠而不映射到特定类
【发布时间】:2016-11-13 01:59:09
【问题描述】:

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

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

这会返回一个列表列表。

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

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

【问题讨论】:

  • 我不知道这是否适用于您的情况,但您是否尝试过query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);?这将返回 List<Map<String,Object>> 结果。
  • 这正是我所需要的!请继续将其发布为答案,我会将其标记为正确答案。 =D

标签: java hibernate orm hibernate-criteria


【解决方案1】:

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

query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);

这将产生List<Map<String,Object>>类型的结果

【讨论】:

    猜你喜欢
    • 2013-02-09
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多