Hibernate的查詢 HQL查詢 查詢某幾列


HQL 是Hibernate Query Language的簡寫,即 hibernate 查詢語言:HQL采用面向對象的查詢方式。HQL查詢提供了更加豐富的和靈活的查詢特性,因此Hibernate將HQL查詢方式立為官方推薦的標准查詢 方式,HQL查詢在涵蓋Criteria查詢的所有功能的前提下,提供了類似標准SQL語句的查詢方式,同時也提供了更加面向對象的封裝。
 
在HQL中,你可以直接From你的實體對象來進行查詢:
Java代碼 
/**
 * 簡單使用
 */ 
@SuppressWarnings("unchecked") 
public static void test1(){ 
    Session session = HibernateSessionFactory.currentSession(); 
    String hql = "from User u"; 
    Query query = session.createQuery(hql); 
    List<User> user = query.list(); 
    System.out.println("------------SQL執行完畢---------------"); 
    for (User us : user) { 
        System.out.println(us.getName()); 
    } 

 
類的后面可以接別名
 
如果想單獨查詢某一列,可以這樣使用:
Java代碼 
/**
 * 查詢某列
 */ 
@SuppressWarnings("unchecked") 
public static void test2(){ 
    Session session = HibernateSessionFactory.currentSession(); 
    String hql = "select name from User u"; 
    Query query = session.createQuery(hql); 
    List<String> user = query.list(); 
    System.out.println("------------SQL執行完畢---------------"); 
    for (String us : user) { 
        System.out.println(us); 
    } 

 
如果想查詢某幾列的話,只是返回的內容不同了而已:
Java代碼 
/**
 * 查詢某幾列
 */ 
@SuppressWarnings("unchecked") 
public static void test3(){ 
    Session session = HibernateSessionFactory.currentSession(); 
    String hql = "select id,name from User u"; 
    Query query = session.createQuery(hql); 
    List user = query.list(); 
    System.out.println("------------SQL執行完畢---------------"); 
    for(Object obj : user){ 
        Object[] arrObj = (Object[])obj; 
        System.out.println(arrObj[0] + "/t-->/t" + arrObj[1]); 
    } 
}


免責聲明!

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



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