I
am working one Spring MVC project in which I have integrated Spring
with hibernate and most of the time, I use to get this error message
while performing database operation ..
org.hibernate.HibernateException:
No Session found for current thread
Reason
: This is happening because I have missed declaring the transaction
in my Spring Application. sessionFacory needs transaction to work.
Solution
:
Define
transaction manager in your Spring configuration file. Here is my
spring-config.xml file :
<bean
id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property
name="driverClass"
value="${db.driverClassName}"
/>
<property
name="jdbcUrl"
value="jdbc:mysql://${db.host}:${db.port}/${db.name}"
/>
<property
name="user"
value="${db.username}"
/>
<property
name="password"
value="${db.password}"
/>
</bean>
<bean
id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
depends-on="provDB">
<property
name="dataSource"
ref="dataSource"
/>
<property
name="packagesToScan"
value="PACKAGE_NAME"
/>
<property
name="hibernateProperties">
<props>
<prop
key="hibernate.dialect">${db.dialect}</prop>
<prop
key="hibernate.show_sql">true</prop>
<prop
key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean
id="dao"
class="DAO_IMPL_CLASS.DaoImpl">
<property
name="sessionFactory"
ref="sessionFactory"
/>
</bean>
<tx:annotation-driven
transaction-manager="transactionManager"
/>
<bean
id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property
name="sessionFactory"
ref="sessionFactory"
/>
</bean>
and
Add @Transactional annotation on your service function
@Override
@Transactional
public
String saveConfiguration(...)
{
daoImpl.saveConfiguration(configuration);
return
"issue_resolved";
}
I
guess, It can be useful to many prople.. Happy Coding..!!!
Great step by step solution, thanks for the help!
ReplyDeleteHibernate Online Training | Java Online Training | Java EE Online Training
Spring Hibernate Online Training | Hibernate Training in Chennai Java Training Institutes
SAP BW on Hana online training
ReplyDeletesap sd online training
osb online training
oracle scm online training
abinitio online training
spark online training
Mysuru Casino - The HERZAMMAN
ReplyDeleteMysuru novcasino Casino - The Home of herzamanindir.com/ the apr casino Best of the Slots! https://septcasino.com/review/merit-casino/ Visit us to Play the best slots 바카라 and enjoy the best table games in our casino. Visit us