gpt4 book ai didi

java - Hibernate: Createsqlquery.. 为我的实体获取一些列时出错

转载 作者:行者123 更新时间:2023-11-29 12:19:49 28 4
gpt4 key购买 nike

在 hibernate 状态下,我编写了一个搜索表单 win Swing。为此目的:

  1. 我的实体 A 有 10 个字段,但在这种搜索的情况下,我只需要同一实体的 5 个字段/列。
  2. 我想使用 SQL 原生查询:

SELECT cli.field1, cli.field2, cli.field3, cli.field4 cli.field5 FROM sells.customers...在 PostgreSQL 中查询

  1. 但是当我添加:

.addEntity(Entity.class)

  1. Hibernate 抛出无法找到其余列的异常。很明显,只要我从 sells.customers 中输入 SELECT * 就不会出现该错误。但我必须为性能做一个 sql 查询。

问题:如何告诉 hibernate - 在 SQL native 查询中 - 仅返回这五个列或字段,但使用前面提到的相同实体。

谢谢

最佳答案

感谢您的提示...幸运的是我做了一些改变:

  1. 实体相同。
  2. 删除 .addEntity(...) 并将其替换为:

    SQLQuery query = getCurrentSession().createSQLQuery(sqlquery);

  3. 下一行是:

    return query.setResultTransformer(Transformers.aliasToBean(entityClass)).list();

在这一行中,我强制返回类型为 entityClass 的项目,无论我是否只选择了五列。列表的每一行都有一个 entityClass 对象,其中只有五个属性和提取的数据。其余属性(未在主查询中选择)为空。

关于java - Hibernate: Createsqlquery.. 为我的实体获取一些列时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32415737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com