亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Hibernate特殊查詢功能

標簽:
Java

返回一个结果查询
//注意事项。查询条件只能返回一个或者零个结果。超过则会报错
String hql = "From Dept d Where d.deptno > 9";
Query query = session.createQuery(hql);
Dept dept = (Dept)query.uniqueResult();
System.out.println(dept.getDeptno()+"\t"+dept.getDname()+"\t"+dept.getLoc());
}
//distinct关键字去除数组中相同的元素
String hql = "Select Distinct d.dname From Dept d";
Query query = session.createQuery(hql);
List<Object> list = query.list();
for (Object obj : list) {
System.out.println(obj);
}

@Test
public void queryAll() {
    // String hql2 = "From  Dept";
    // String hql =
    // "Select e.ename,e.comm,d.deptno,d.dname From Emp e,Dept d Where e.dept = d.deptno ";
    // Query query = session.createQuery(hql);

// String hql = "Select d.deptno From Dept d";
// Dept d = new Dept();
// Query query = session.createQuery(hql);
// List<Dept> dept = new ArrayList<>();
// List<Object> list = query.list();
// // list.get(0) = i;
// for (Object obj : list) {
// int i = (int) obj;
// d = (Dept) session.get(Dept.class, i);
// System.out.println(i);
// dept.add(d);
// }
/*

  • 通过Map查询
  • map。get(“别名”)
    */
    String hql = "Select new Map(e.ename as en,e.comm as cm,d.deptno as no) From Emp e,Dept d";
    Query query = session.createQuery(hql);
    List<Map> list = query.list();
    for (Map map : list) {
    System.out.println(map.get("en"));
    System.out.println(map.get("cm"));
    System.out.println(map.get("no"));
    }
    //session.close();
    // 由于HQL是对映射类的操作,所以查询关联表它并不能返回数据库表,而是返回一个数组
    // List<Object[]> list = query.list();
    // for (Object[] obj : list) {
    // System.out.println(obj[0]+"\t"+obj[1]+"\t"+obj[2]+"\t"+obj[3]);
    // }

// for (int j = 0; j < dept.size(); j++) {
// for (Object obj : dept.get(j).getEmps()) {
// Emp e = (Emp) obj;
// System.out.println(e.getEname());
// }
// }

}
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
2
獲贊與收藏
4

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消