HIBERNATE HQL返回值的提取

String hql = "select d.div,d.div_desc from DivTbl d where div='0013'";
Object o=(Object)getHibernateTemplate().find(hql);
执行结果返回值为 Ljava.lang.Object
如果是返回一个字段 如:d.div 可以(String) 强制转换成string
但是返回两个字段、就不知道怎么转换了?
返回recordset呢?
请各位帮忙!
谢谢!

5个回答

建一个实体类,其中有div_desc和div着两个字段, 然后用这个类接收就好了啊。把object转成这个试题类型就ok了嘛!

这个么有办法,你只能根据你自己想要得到的数据类型来转换它。LS说的也是这个意思其实。

[quote]
假设一个工程需要各种各样查询
我不可能建许多临时的ENTITY
我作了一个类
public List> findBySql(String hql) {
return (List>)getHibernateTemplate().getSessionFactory().openSession().createSQLQuery(hql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
}
根据SQL返回LIST
灵活多了
[/quote]
万一到时候需要你返回三个STRING的值回来呢?

[quote]返回一百个STRING也没问题 [/quote]
如果返回的类型都是 String 的话,你这么做是OK的哇

[quote]两个STRING都是返回的字段值 [/quote]
这样做行么?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问