zoukankan      html  css  js  c++  java
  • Hibernate uniqueResult方法的使用

    以前写代码,总免不了编写登陆部分。在获取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

  • 相关阅读:
    solr 最佳实践
    DNS 域名解析过程
    mac 下 virtualbox 配置全网通
    搜索引擎使用技巧
    三叉搜索树
    双数组trie树的基本构造及简单优化
    基于回归-马尔科夫模型的客运量预测
    solr 常用命令
    PHP yield 分析,以及协程的实现,超详细版(上)
    C语言,简单计算器【上】
  • 原文地址:https://www.cnblogs.com/langtianya/p/4876624.html
Copyright © 2011-2022 走看看