您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> Hibernate 关session问题!

Hibernate 关session问题!

来源:网络整理     时间:2016/8/17 10:53:57     关键词:

关于网友提出的“ Hibernate 关session问题!”问题疑问,本网通过在网上对“ Hibernate 关session问题!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Hibernate 关session问题!
描述:

package test;
import org.hibernate.Session;
//import org.hibernate.cfg.Configuration;
import cn.com.tarena.ecport.daoHbmImpl.HibernateSessionFactory;
import cn.com.tarena.ecport.pojo.Category;
public class TestCategoryDao {
public static void main(String []args){
Category object=null;
//Session session=new Configuration().configure("hibernate.cfg.xml").buildSessionFactory().openSession();
Session session=HibernateSessionFactory.getSession();
object=(Category)session.load(Category.class, 1);
//System.out.println(object.getName());在关闭之前打印就正常,关闭之后打印就报错
session.close();
System.out.println("-----------------");
System.out.println(object.getId()+"&&&&"+object.getDescription());
}
}
31   ERROR [main] org.hibernate.LazyInitializationException     - could not initialize proxy - the owning Session was closed
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:60)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:140)
at cn.com.tarena.ecport.pojo.Category$$EnhancerByCGLIB$$f28eea90.getDescription()
at test.TestCategoryDao.main(TestCategoryDao.java:21)
Exception in thread "main" org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:60)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:140)
at cn.com.tarena.ecport.pojo.Category$$EnhancerByCGLIB$$f28eea90.getDescription()
at test.TestCategoryDao.main(TestCategoryDao.java:21)
错误为:


解决方案1:

yao_ran解释的很清楚罗
你可以用session.get(参数..)试试

解决方案2:

hibernate3默认的是延迟加载对象的,当你使用session.load的时候,其实hibernate并没有去数据库执行查询,而要等到你使用该对象的某个属性时才去执行查询,从你的程序来看,当你的session已经close了以后,才去调用该对象的属性,也就是这个时候hibernate才去数据库执行查询语句,当然要报错了

解决方案3:

应该是session还没有运行完就给你关闭了~~


以上介绍了“ Hibernate 关session问题!”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3337322.html

相关图片

相关文章