Boa tarde pessoall.
Tenho um projeto swing que está configurando com Spring sendo, que os beans do Spring são criados através da classe ClassPathXmlApplicationContext.
Esta parte funciona perfeitamente, consigo fazer as injeções sem problemas.
Mas quando eu crio algum com contexto transacional ele não cria a transação no BD, porém permite que eu execute a operação.
O seguinte método abaixo não funciona sem anotação @Transacional, o hibernate lança uma exception falando que a sessão está fechada
@Transactional
public void save(Carro carro){
getSession().save(carro);
}
Porém eu consigo fazer uma inserção no banco com método anotado desta forma, e os rolback não funcionam.
O método save está dentro de Bean do Spring e foi instanciado como tal.
Eu agradeço qualquer sugestão.Segue abaixo meu applicationContext.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<!-- Habilita o processamento as anotações -->
<context:annotation-config/>
<context:component-scan base-package="com.mcp.projeto.*" />
<!-- Controle de transações -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="PROJETO" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
</beans>