帮我写一个简单的DAO方法

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:46:19
一个POJO--Net里其中有两个属性是net,neirong。
这个POJO对应的DAO方法里有个方法,public String findNetwordByNeirong(String neirong ),这个方法用HQL怎么写?
这两个属性都是string的。
这样写对吗
public String findNetByNeirong(String neirong )
{ List NetList=getHibernateTemplate().find("select N.net from Net N where N.neirong=?",neirong);
if(NetList.size() > 0)
{ String N=(String)NetList.get(0);
return N;
}
else{
return null;
}
}

帮你改下吧,
public String findNetByNeirong(String neirong )
{ List NetList=getHibernateTemplate().find("From Net as N where N.neirong=?",neirong);
if(NetList.size() > 0)
{ String N=(String)((N)NetList.get(0)).getNet();
return N;
} else{return null;}

这里假设你的POJO类是 N,有一个属性 net,要知道HQL就是面向对象的查询,你使用From语句的时候返回的是 N 类的一个实例,而不是一个字符串。

select N.net from Net N where N.neirong=?
from前面的都不要

看出你想要的好像是唯一结果
如果是唯一结果直接用uniqueResult()不是更好

getSession().createQuery(" from Net N where N.neirong=" + neirong).uniqueResult();
返回一个object直接强制转型成pojo

很久没用hibernate了 写的不对的地方见谅

S