Ravindran Loganathan

Greenhorn
+ Follow
since May 25, 2005
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Ravindran Loganathan

Hi,

I am trying to update data. I use the JpaDaoSupport (Spring) based POJO as the DAO layer. HSQL is the back-end. Declarative Transaction Management is used. I have a search & update functionalities. Out of these, search is working fine. whereas update method is throwing javax.persistence.TransactionRequiredException: Executing an update/delete query

Source Code:
<CODE>
public class SimpleEmployeeViewBuilder extends JpaDaoSupport implements EmployeeViewBuilder {

.....
// Search Methods & Other declarations
.....

@Transactional(propagation = Propagation.REQUIRED)
public void updateEmployeeView(final SimpleEmployeeView view) {

EntityManager anEntityManager = getJpaTemplate().getEntityManagerFactory().createEntityManager();

final Query query = anEntityManager.createQuery(
"UPDATE employee.pd.Employee emp SET emp.employeeName=? WHERE emp.employeeId =?");

query.setParameter(1, view.getEmployeeName());
query.setParameter(2, view.getEmployeeId());

query.executeUpdate(); //****This is the line throwing exception
}
}
</CODE>

Configuration File :
<CODE>
<beans>

<!--=========== Datasources ===========-->
<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url"
value="jdbc:hsqldb:file:test/hsqldb/data;shutdown=true" />
<property name="username" value="***" />
<property name="password" value="***" />
</bean>

<!--=========== EntityManagerFactory ===========-->
<bean id="entityManagerFactory"class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<beanclass="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true" />
<property name="generateDdl" value="false" />
</bean>
</property>
</bean>

<bean id="employeeViewBuilder"class="employee.viewobject.SimpleEmployeeViewBuilder">
<property name="entityManagerFactory">
<ref bean="entityManagerFactory" />
</property>
....
</bean>

<!-- AOP Based TRANSACTION MANAGEMENT -->

<tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/>
<bean id="txManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory" />
<property name="dataSource" ref="dataSource" />
</bean>

</beans></CODE>

And, this is the exception stack trace:



I am struggling with this problem for couple of days but no progress....
If any body resolved the same problem or you could able to identify the issue please do post your suggestions.

Thanks in advance
Ravi