首页 > Web开发 > 详细

Hibernate uniqueResult方法的使用

时间:2015-10-14 11:48:40      阅读:190      评论:0      收藏:0      [点我收藏+]

以前写代码,总免不了编写登陆部分。在获取user的时候,只可能返回一个user实例,或者为null。以前使用以下方法实现。
public User get(String id){  
    Session session=HibernateUtil.getSessionFactory().openSession();  
    String hql="from User u where u.id = ?";  
    List list=session.createQuery(hql).setString(0, id).list();  
    if (list.size()==1){  
        return (User)list.get(0);  
    }else{  
        return null;  
    }  
}  
[java] 
public User get(String id){  
    Session session=HibernateUtil.getSessionFactory().openSession();  
    String hql="from User u where u.id = ?";  
    List list=session.createQuery(hql).setString(0, id).list();  
    if (list.size()==1){  
        return (User)list.get(0);  
    }else{  
        return null;  
    }  
}  
 昨天重读hibernate的参考手册,发现query接口提供了一个更好的方法用来获取实例,当返回的实例明确只有一个或者为null的时候。
uniqueResult
public Object uniqueResult()throws HibernateException返回:单个实例或者null抛出:当返回的实例大于一个的时候的抛出NonUniqueResultException对应的使用方法如下:

[java]  www.2cto.com
public User get(String id){  
Session session=HibernateUtil.getSessionFactory().openSession();     
String hql="from User u where u.id=?";     
return (User)session.createQuery(hql).setString(0, id).uniqueResult(); 
 
}  

原:http://www.2cto.com/kf/201209/155644.html

Hibernate uniqueResult方法的使用

原文:http://www.cnblogs.com/langtianya/p/4876624.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!