Spring+Hibernate配置注意事项

原创 2016年05月30日 15:23:16

1.如果你想在自己的main方法中做测试,那么不能用new Dao的这种形式

原因:当你getCurrentSession时,会抛出空指针,原因是通过new Dao这种形式,是无法注入applicationContext.xml中的dataSource和sessionFactory对象的,所以sessionFactory为空。

解决:通过getBean获取Dao的对象

2.如果再通过session执行语句的时候,抛出No Session found for current thread

原因:

 SessionFactory的getCurrentSession并不能保证在没有当前Session的情况下会自动创建一个新的,这取决于CurrentSessionContext的实现,SessionFactory将调用CurrentSessionContext的currentSession()方法来获得Session。在Spring中,如果我们在没有配置TransactionManager并且没有事先调用SessionFactory.openSession()的情况直接调用getCurrentSession(),那么程序将抛出“No Session foundfor current thread”异常。

解决:利用AOP配置Transactional并且通过@Transactional或者声明的方式配置的事务边界,那么Spring会在开始事务之前通过AOP的方式为当前线程创建Session,此时调用getCurrentSession()将得到正确结果。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JTA/XA: Atomikos + Spring + Hibernate 配置 注意事项

1. xaDataSource 配置如下. (DB2) db2 com.ibm.db2.jcc.DB2XA...

JTA/XA: Atomikos + Spring + Hibernate 配置 注意事项

1. xaDataSource 配置如下. (DB2) Xml代码   bean id="xaDataSource" class="com.atomikos.jdbc.Atomik...

Spring、Hibernate整合注意事项

1、Spring Jar包:需要额外加入commons-pool和commons-dbcp,若包含spring自带的测试,还需要引入spring-test2、Spring beans.xml:如果使用...

hibernate4 和 spring3 整合注意事项 否则java.lang.NoSuchMethodError异常 - lihui_yy

最近一直在研究S2SH开发框架,把三部分分别看完之后开始整合,发现由于 hibernate 高版本已经又完善了好多功能,导致与之前跟 spring 整合的方法有些出入。 先说一下与 hibernat...

Spring @Transactional 配置无效 注意事项

1. 在需要事务管理的地方加@Transactional 注解。@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上 。 2. @Transact...

spring配置文件注意事项

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/

Spring Bean 配置相关的注意事项

数据访问注意事项 本部分介绍与访问事务中的数据的 Spring Bean 配置相关的注意事项。 Spring Framework 实际上使用一个容器管理层(在 J2EE 环境中委托给基...

@Transactional spring 配置事务 注意事项

1. 在需要事务管理的地方加@Transactional 注解。@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上 。 2. @Transa...

@Transactional spring 配置事务 注意事项

原文:http://blog.sina.com.cn/s/blog_667ac0360102ebem.html 1. 在需要事务管理的地方加@Transactional 注解。@Transa...

Spring通过properties配置数据库链接以及注意事项

一般我们想把链接数据库的配置信息与Spring的配置信息分开,这样我们就随时可以方便的更改链接数据库的信息了。 一、因此我们一般把数据库链接的配置信息放到properties文件里;比如 data...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)