1.
/**
單一屬性查詢
*/
List s = session.createQuery("select name from Student").list();
//返回的類型與實體類中相應(yīng)的屬性類別一直.
2.
/**
多個屬性查詢
*/
List s = session.createQuery("select id, name from Student").list();
//查詢多個屬性,返回值為對象的數(shù)組
//數(shù)組元素類型和對應(yīng)的實體類型一直
//數(shù)組長度與查詢的條件相同
3./**
返回student實體類,
還要在實體類中提供空的構(gòu)造函數(shù),和帶參數(shù)的構(gòu)造函數(shù)
*/
List s = session.createQuery("select new Student(id, name) from Student").list();
//返回的便是實體類
4.
可以實用別名,用as
5.
/*
list()與iterate()方法的區(qū)別.
*/
iterate()迭代中會發(fā)生N+1的現(xiàn)象,它與session的綁定.當(dāng)session在緩存中存在時用iterate()會提高一定的效率.沒有在發(fā)生N+1現(xiàn)象
list()只會向數(shù)據(jù)庫查詢的SQL,除非配置查詢緩存.