hibernate中調用query.list()而出現的黃色警告線


使用hibernate的時候會用到hql語句查詢數據庫, 那就一定會用到query.list();這個方法, 那就一定會出現一個長長的黃色的警告線, 不管你想盡什么辦法, 總是存在, 雖然說這個黃色的警告並無礙於程序的運行, 但是對於我這樣有着強烈強迫症的人來說我看不下去了.

查了一些資料, 找到辦法了

原來的

    public List<Object> list(String className) {
        Configuration conf = new Configuration().configure("conf/hibernate.cfg.xml");
        ServiceRegistry serviceReg = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build();
        sessionFactory = conf.buildSessionFactory(serviceReg);
        session = sessionFactory.openSession();
        
        String hql = "from "+className+" where yxbz='1'";
        System.out.println(hql);
        Query query = session.createQuery(hql);
        List<Object> list = query.list();
        
        session.close();
        sessionFactory.close();
        return list;
    }

改成這樣的:

public List<?> list(String className) {
    Configuration conf = new Configuration().configure("conf/hibernate.cfg.xml");
    ServiceRegistry serviceReg = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build();
    sessionFactory = conf.buildSessionFactory(serviceReg);
    session = sessionFactory.openSession();
     
    String hql = "from "+className+" where yxbz='1'";
    System.out.println(hql);
    Query query = session.createQuery(hql);
    List<?> list = query.list();
     
    session.close();
    sessionFactory.close();
    return list;
}

 

原因是query.list();方法返回的是一個List<?>泛型, 而原來每次這樣寫的時候都寫成List<Object>, 所以出現這黃色的警告線, 實際上List<Object>和List<?>是沒啥毛線區別的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM