
你的sessionfactory没有交给Spring初始化,再简单一点就是你的sessionfactory没有实例化,getCurrentSession是获取当前使用的session,因为你的当前sessionfactory都是空的,所以肯定是没有的,我是这么认为的。根据使用方式的不同,可以使用注解交给spring或是配置,这个由你决定,网上搜一下 各种都有。
如上图所示; 1在productService 中注入productDao时,进入一次AOP,相当于进入一次数据库(发起sql命令begin transaction 开启事务),调用保存方法时再发生一次commit命令, 当保存方法抛异常时,触发spring进入aop,发送rollback命令道数据库回滚数据。 2分步保存 21 在保存信息时注入service,则进入两次aop,分别是进入imgService,和imgDao,调用过程跟上述相同, 22 直接注入dao,则只进入一次aop 就程序执行过程而言,进入一次或两次aop没太大关系,事务的嵌套也不影响。关键在于,做分布式缓存的时候,手动配置aop,如果节点设置到service层的话,缓存机制监控不到dao层,直接注入dao并调用其中的方法,会使得缓存机制获取不到数据的变化,从而使数据库和缓存数据不一致。常规的方法是注入service,这样于业务流程也比较好理解
以上就是关于No Hibernate Session bound to thread, and configuration does not allow creat全部的内容,包括:No Hibernate Session bound to thread, and configuration does not allow creat、关于productService注入问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)