Hibernate查詢方式&抓取策略
阿新 • • 發佈:2018-12-05
Hibernate的查詢方式
1、OID查詢
hibernate根據物件的OID(主鍵)進行檢索
使用get方法
Customer customer=session.get(Customer.class,1l);
使用load方法
Customer customer=session.load(Customer.class,1l);
2、物件導航檢索
hibernate根據一個已經查詢到的物件,獲得其關聯的物件的一種查詢方式
LinkMan linkMan=Session.get(LinkMan.class,1l); Customer customer=linkMan.getCustomer();
3、HQL檢索
Hibernate Query Language 的查詢語言,是一種面向物件的方式的查詢語言,語法類似於SQL。通過session.createQuery()用於接收一個HQL進行查詢
HQL的簡單查詢
/* * HQL簡單查詢 * */ public void demo2() { Session session=HibernateUtils.openSession(); Transaction transaction=session.beginTransaction(); Query query=session.createQuery("from Customer"); List<Customer> list=query.list(); for(Customer customer:list) System.out.println(customer.toString()); transaction.commit(); }
HQL的別名查詢
/* * HQL簡單查詢 * */ public void demo2() { Session session=HibernateUtils.openSession(); Transaction transaction=session.beginTransaction(); Query query=session.createQuery("from Customer c"); List<Customer> list=query.list(); for(Customer customer:list) System.out.println(customer.toString()); transaction.commit(); }
HQL的投影查詢
查詢物件的某個或某些屬性
public void demo6() { Session session=HibernateUtils.openSession(); Transaction transaction=session.beginTransaction(); List<Object> list=session.createQuery("select c.cust_name from Customer c").list(); for(Object object:list) System.out.println(object); transaction.commit(); }