hibernate加载策略

1.加载策略种类
1.1立即加载: 不管使用不使用,都会立刻将数据加载.

	public User getUser(User user) {
		Session session = SessionFactoryUtils.getSession();
		Transaction transaction = session.beginTransaction();
		System.out.println(123);
		User u = session.get(User.class,user.getId());
		System.out.println(456);
		System.out.println(u.getUserName());
		transaction.commit();
		session.close();
		return u;
	}

1.1.1:立即加载优点:对应用程序完全透明,不管对象处于持久化状态还是游离状态,应
对应用程序完全透明,不管对象处于持久化状态还是游离状态,
应用程序都可以从一个对象导航到关联的对象
1.1.2:立即加载缺点:select语句多,可能会加载应用程序不需要访问的对象,浪费许多内存空间。

1.2延迟加载: 等到使用的时候才会加载数据.
	public User loadUser(User user) {
		Session session = SessionFactoryUtils.getSession();
		Transaction transaction = session.beginTransaction();
		System.out.println(123555);
		User u = session.load(User.class,user.getId());
		System.out.println(4565555);
		System.out.println(u.getUserName());
		transaction.commit();
		session.close();
		return u;
	}

1.1.1:延迟加载优点:由应用程序决定需要加载哪些对象,可以避免执行多余的select
语句,以及避免加载应用程序不需要访问的对象。因此能提高检索性能,并节省内存空 间。
1.1.1:延迟加载缺点: 应用程序如果希望访问游离状态的代理类实例,必须保证她在持久化状态时已经被初始化
2.加载策略的应用
类级别的加载策略.
关联级别的加载策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值