有关java中数据表关系调用问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 10:40:25
一个很简单的问题
我想实现一个功能 如下
有两个表 用户表和文章表
在文章表中有一个字段存储用户表的主键(自动增长的id)
在网站中需要体现这个文章是谁写的 所有根据用户id 查询
我用的Hibernate数据表之间有关系
调用的时候w.getUserinfo().getUsername(w为文章对象,userinfo为用户表的对象)这样调用为什么出错!

错误提示是
Exception in thread "main" org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150)
at com.houlei.pojo.Admin$$EnhancerByCGLIB$$d0bd84d7.getAdminname(<generated>)
at com.houlei.Test.main(Test.java:73)
麻烦高手帮帮忙 谢谢!

在w这个持久化类的hbm配置文件中
有个many-to-one对应Userinfo吧,在此加上lazy="false",如果不行加我

Hibernate天生存在一个毛病
自动生成的代码中并没有吧数据库处理放到事务中 但是Hibernate本身规定数据库操作一定要再事务中进行

从错误信息来看是你的hibernate会话不存在,也就没有初始化,可能是你的hibernate配置有问题,或者配置没有放在classpath下面

检查hibernate配置吧