java - Hibernate - 从 hibernate setter(POJO) 类中删除 where 条件字段

标签 java hibernate jpa

我已经在 hibernate 中执行了带有where条件的选择查询。它返回列表中的值,其中还包含条件字段。我不需要列表中的条件字段。我怎样才能删除它。

我使用的查询:

select cityname,cityid from citymaster where stateid ='2';

它返回列表中的城市名称、城市ID、州ID。但我需要城市名称,城市ID

hibernate :

 Query query = session.createQuery("select cityname,cityid from Citymaster where stateid ='2'");
        query.setResultTransformer(Transformers.aliasToBean(Citymaster.class));
        List cityMasterList = query.list();
        Citymaster[] cma = cityMasterList.toArray();

在 cma 中 - 数组中的城市名称、城市 ID、州 ID。但我需要城市名称,城市ID。

最佳答案

我真的怀疑这个查询是否检索到了stateid。我已经使用 Hibernate 执行了很多类似的查询,它们只返回 select 子句中的列。

当然,如果您的 Citymaster 类具有 stateid 属性,它不会仅仅因为您没有查询它就从类中神奇地消失。所有返回的实例都在此属性中具有默认值(您在 Citymaster 的无参数构造函数中设置的值,如果您未在构造函数中设置任何特定值,则为 0 或 null ,取决于 stateid 字段的类型)。

如果您想确定,只需删除 query.setResultTransformer 调用,然后检查列表的内容即可。它应该包含包含两个元素的 Object[] 实例。

关于java - Hibernate - 从 hibernate setter(POJO) 类中删除 where 条件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645288/

相关文章:

java - 创建类路径资源中定义的名称为 'sessionRepositoryFilterRegistration' 的 bean 时出错

java - 如何在 Lucene 5.3.x 中使用 BooleanQuery 构建器?

java - NoSuchMethodError : org. hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;I)V

java - 更新在 Hibernate 多对多关系表中不起作用

java - Spring Boot + Hibernate + Postgres - 不创建表

java - 合并许多 application.properties 文件而不是在 Spring Boot 上替换?

java - 如何让 2 个 JVM 相互通信

java - 从终端生成 WAR 并将其部署到 tomcat 时我做错了什么?

java - 使用 JCalendar 的特定日期的背景颜色

java - 如何构建变更跟踪系统——而非审计系统