Help coderanch get a
new server
by contributing to the fundraiser

Ravindran Loganathan

Greenhorn
+ Follow
since May 25, 2005
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

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