Hibernate的查詢 HQL查詢 查詢某幾列 – JAVA編程語言程序開發技術文章

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]); 
    } 

 
作者:dyllove98

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。