针对Hibernate load方法产生异常的解决方法

开发 后端
本文对Hibernate load方法执行后关闭Session产生异常提出两种解决方法。

以前写项目的时候 自己用过Hibernate load方法的延时加载 可是产生异常,因为HibernateTemlate执完load方法之后会关闭Session 所以如果要解决对象属性产生异常解决的办法有两种:

***种就是实HibernateCallback接口,并将实例传入给HibernateTempalte的excute里。

Java代码

public User (final Integer id)   
{  
 
User user=(User)hibernateTemplate.excute(  
new HibernateCallback(){  
 
public Object doInHibernateException,SQLException{  
 
User user=(User)session.load(User.class,id);  
Hibernate.initialize(user);  
return user;}  
}  
 
 
public User (final Integer id)
{
User user=(User)hibernateTemplate.excute(
new HibernateCallback(){
public Object doInHibernateException,SQLException{
User user=(User)session.load(User.class,id);
Hibernate.initialize(user);
return user;}
}

)
另一种方法就是修改xml把lazey改为false

【编辑推荐】

  1. Hibernate常见面试题汇总
  2. Hibernate入门教程 Hibernate关系映射详解
  3. Hibernate中Session.find/iterator方法
  4. 浅谈Struts分页中的Hibernate如何实现
责任编辑:张攀 来源: javaeye.com
相关推荐

2009-06-25 15:06:20

Javadoc乱码

2010-11-04 10:44:27

DB2 not fou

2009-06-26 16:23:12

Hibernate gHibernate l

2010-06-01 15:58:14

SVN错误

2009-12-25 10:01:23

WinForm程序

2022-10-17 07:51:31

Hudi异常HDFS

2018-01-18 10:46:01

服务器磁盘原因

2010-07-15 14:01:12

telnet乱码

2011-03-01 13:40:45

500 OOPS

2009-12-17 10:09:02

ssh超时断开

2023-04-06 15:21:34

IIoT自动化

2010-03-23 13:46:17

无线网卡分配IP地址

2010-10-13 17:22:12

MySQL查询乱码

2009-07-03 18:14:27

Servlet线程安全

2009-09-10 09:35:25

Linq语句

2010-04-20 16:46:41

Oracle数据库密码

2010-05-27 09:33:04

SVN冲突

2011-09-16 15:36:47

网络环路

2022-10-13 07:35:52

数据配置MySQL

2010-06-17 10:32:13

开机显示Grub
点赞
收藏

51CTO技术栈公众号