diff --git a/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java b/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java index 95cf09055..311adc47e 100644 --- a/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java +++ b/src/main/java/org/springframework/data/jpa/repository/support/JpaRepositoryFactoryBean.java @@ -20,8 +20,8 @@ import javax.persistence.PersistenceContext; import org.springframework.beans.factory.FactoryBean; import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.repository.support.RepositoryFactoryBeanSupport; import org.springframework.data.repository.support.RepositoryFactorySupport; +import org.springframework.data.repository.support.TransactionalRepositoryFactoryBeanSupport; import org.springframework.util.Assert; @@ -34,7 +34,7 @@ import org.springframework.util.Assert; * @param the type of the repository */ public class JpaRepositoryFactoryBean> extends - RepositoryFactoryBeanSupport { + TransactionalRepositoryFactoryBeanSupport { private EntityManager entityManager; diff --git a/src/main/resources/org/springframework/data/jpa/repository/config/spring-jpa-1.0.xsd b/src/main/resources/org/springframework/data/jpa/repository/config/spring-jpa-1.0.xsd index 75341c3fc..ba0431c65 100644 --- a/src/main/resources/org/springframework/data/jpa/repository/config/spring-jpa-1.0.xsd +++ b/src/main/resources/org/springframework/data/jpa/repository/config/spring-jpa-1.0.xsd @@ -17,6 +17,7 @@ + @@ -29,8 +30,8 @@ - + + @@ -52,7 +53,6 @@ - diff --git a/src/test/java/org/springframework/data/jpa/repository/config/JpaRepositoryConfigDefinitionParserTests.java b/src/test/java/org/springframework/data/jpa/repository/config/JpaRepositoryConfigDefinitionParserTests.java new file mode 100644 index 000000000..b4f22ae63 --- /dev/null +++ b/src/test/java/org/springframework/data/jpa/repository/config/JpaRepositoryConfigDefinitionParserTests.java @@ -0,0 +1,53 @@ +/* + * Copyright 2008-2010 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.jpa.repository.config; + +import static org.hamcrest.CoreMatchers.*; +import static org.junit.Assert.*; + +import org.junit.Test; +import org.springframework.beans.PropertyValue; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.xml.XmlBeanFactory; +import org.springframework.core.io.ClassPathResource; + + +/** + * Integration test for {@link JpaRepositoryConfigDefinitionParser}. + * + * @author Oliver Gierke + */ +public class JpaRepositoryConfigDefinitionParserTests { + + @Test + public void getsTransactionManagerSet() throws Exception { + + XmlBeanFactory factory = + new XmlBeanFactory(new ClassPathResource( + "multiple-entity-manager-integration-context.xml")); + + BeanDefinition definition = + factory.getBeanDefinition("auditableUserRepository"); + assertThat(definition, is(notNullValue())); + + PropertyValue transactionManager = + definition.getPropertyValues().getPropertyValue( + "transactionManager"); + assertThat(transactionManager, is(notNullValue())); + assertThat(transactionManager.getValue().toString(), + is("transactionManager-2")); + } +}