Gostaria de usar o Spring para controle automático de Transação e injeção do EntytiManager automática.
Uso Mentawai e como implementação do JPA o Hibernate, quero usar o Spring absolutamente só para esse propósito, só que nunca trabalhei com Spring e não faço a menor idéia de como configurá-lo para isso.
Todas as tentativas que realizei foram frustrantes, será que não teriam um passo-a-passo ou uma aplicação de exemplo…
isso é meu dataSourceApplication.xml, ele faz o que vc espera, só que daí a vc fazer o suporte na sua aplicação, vc precisa dá uma olhada no JpaDAOSupport do próprio spring, este exemplo é pra Spring 2.5
<?xml version="1.0" encoding="UTF-8"?>
<beanid="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"p:location="jdbc.properties"/><!-- JPA EntityManagerFactory --><beanid="entityManagerFactory"class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"p:dataSource-ref="dataSource"><propertyname="jpaVendorAdapter"><beanclass="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"p:databasePlatform="${jpa.databasePlatform}"p:showSql="${jpa.showSql}"/></property><propertyname="jpaProperties"><props><propkey="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</prop><propkey="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</prop></props></property></bean><beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean"><propertyname="jndiName"value="java:/aaDS"/></bean><!--<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"p:driverClassName="${jdbc.driverClassName}"p:url="${jdbc.url}"p:username="${jdbc.username}"p:password="${jdbc.password}"/> PostProcessors to perform exception translation on @Repository classes (from nativeexceptions such as JPA PersistenceExceptions to Spring's DataAccessException hierarchy).--><beanclass="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/><beanclass="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/><tx:jta-transaction-manager></tx:jta-transaction-manager><!--Instruct Spring to perform declarative transaction managementautomatically on annotated classes.--><tx:annotation-driven/><!--Activates various annotations to be detected in bean classes: Spring's@Required and @Autowired, as well as JSR 250's @PostConstruct,@PreDestroy and @Resource (if available) and JPA's @PersistenceContextand @PersistenceUnit (if available).--><context:annotation-config/><context:component-scanbase-package="br"/><!--Instruct Spring to retrieve and apply @AspectJ aspects which are definedas beans in this context (such as the UsageLogAspect below).<beanid="pesquisaDAO"class="br.com.gsq.spring25.dao.PesquisaDAO"/>--><aop:aspectj-autoproxy/>
pablofaria
Com essa configuração eu consigo fazer isso usando um conteiner de Servlets (Tomcat)?
Se colocar a anotação @PersistenceContext no meu EntityManager ele popula automaticamente?
Se colocat @Transactional ele gerencia minhas transações?