我执行了带有休眠条件的select查询。它返回列表中的值,其中还包含where条件字段。我不需要列表中的where条件字段。我该如何删除它。
我使用的查询:
select cityname,cityid from citymaster where stateid ='2';
它在列表中返回cityname,cityid,stateid。但我需要cityname,cityid
休眠:
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中-数组中的cityname,cityid,stateid。但是我需要cityname,cityid。
最佳答案
我真的怀疑此查询是否检索到了stateid。我已经使用Hibernate执行了很多类似的查询,它们只是返回select子句中的列。
当然,如果您的Citymaster
类具有stateid
属性,它不会仅仅因为您没有查询就神奇地从该类中消失。所有返回的实例将在此属性中具有默认值(在Citymaster
的无参数构造函数中设置的默认值;如果未在构造函数中设置任何特定值,则返回0或null,具体取决于类型) stateid
字段)。
如果要确保,只需删除query.setResultTransformer调用,然后检查列表的内容即可。它应该包含包含两个元素的Object[]
实例。