其中Dao中的那些方法都是使用MyEclips中Hibernate组件自动生成的。
当我在service里写过几个方法,其中别的方法使用都正常,只有一个出了毛病,追踪问题到最后查找到是Hibernate里某个方法的
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
报空指针错误,我汗死了!
接着上网查找资料,网上说是session没有关闭的问题。简直乱说,md根本连个毛都没获得,哪来没关闭一说。
看了半天spring的配置文件,没有问题....
问题应该还是在Service里我写的方法中,其中有两句:
RoadBillTableDAO rbtDao = new RoadBillTableDAO ();
List billList = rbtDao.findByProperty("mainId",rbmt.getMainId());
一看,气不打一处来啊,原来错误就在红色部分。
因为我的所有Dao Service 和Action都是使用Spring来管理的,So rbtDao 已经由Spring自动生成出来了,我自己再重新New 出一个来,丫肯定得不到当前的session了。
至此问题解决!
这个问题让我弄了至少两个小时,请允许我大声的说三声:Tnnd,Tnnd,Tnnd........