日期:2014-05-20  浏览次数:20794 次

hibernate简单问题,按搜索条件查询一条记录用什么?
我有一个编号'92837271' 这个编号是用户输入的 现在在后台取到了该编号 然后使用hibernate进行查询 我使用find 然后给一个User对象 提示说类型转换异常,记得以前有一个方法是只查询一条信息 然后可以直接赋值给一个对象的 请问是什么?

------解决方案--------------------
如果你id是主键的话可直接:
getHibernateTemplate.get(类名.class, id); 或者是
getHibernateTemplate.load(类名.class, id);

如果你的id不是主键,可以用
this.getHibernateTemplate().execute(new HibernateCallback<T>() {
@Override
public T doInHibernate(Session session) throws HibernateException,
SQLException {
return session.createQuery("from T where id=?").//
setParameter(0, id).uniqueResult();;
}
});
这里注意,你必须取出的对象只有一条,如果是多条的话,就会报异常。。