原文链接:http://www.yiidian.com/hibernate/hibernate-get-load.html
1 演示get和load方法的基本使用
/**
* 演示基本对象的查询
* @author http://www.yiidian.com
*
*/
public class Demo {
/**
* get()方法: 查询一个对象
*/
@Test
public void test1(){
Session session = HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
Customer cust = session.get(Customer.class,1);
Set<Order> orders = cust.getOrders();
System.out.println(cust.getName()+"的订单:");
for (Order order : orders) {
System.out.println(order.getOrderno());
}
tx.commit();
session.close();
}
/**
* load()方法: 查询一个对象
*/
@Test
public void test2(){
Session session = HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
Customer cust = session.load(Customer.class,1);
Set<Order> orders = cust.getOrders();
System.out.println(cust.getName()+"的订单:");
for (Order order : orders) {
System.out.println(order.getOrderno());
}
tx.commit();
session.close();
}
}
源码下载:https://pan.baidu.com/s/1c2HD7tm
2 分析get和load方法的区别
在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的