2016-06-12 18 views
0

私はgrailsアプリケーションを持っています。私は別のデータベースアプリケーションにアクセスする必要があります。私は両方を依存関係として追加しました。以下に示すように、データベースごとに2種類の異なるEntityManagerFactoryを作成しました。しかし、私はこの例外を取得しています複数のEntityFactoryManagerの競合

ERROR org.springframework.boot.SpringApplication - Application startup failed 
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) 
    at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:51) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:335) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:324) 
    at grails.boot.GrailsApp$run.call(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) 
    at analyticsapplication.Application.main(Application.groovy:8) 
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:99) 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:76) 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:457) 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:168) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:160) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130) 
    ... 13 common frames omitted 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsCacheFilter': Cannot create inner bean '(inner bean)#648b2d65' of type [grails.plugin.cache.web.filter.simple.MemoryPageFragmentCachingFilter] while setting bean property 'filter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#648b2d65': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.web.mapping.mvc.UrlMappingsHandlerMapping.setWebRequestInterceptors(org.springframework.web.context.request.WebRequestInterceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'openEntityManagerInViewInterceptor' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined: expected single matching bean but found 2: entityManagerFactory,offersEntityManagerFactory 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313) 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) 
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:233) 
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:214) 
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:90) 
    at org.springframework.boot.context.embedded.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:78) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getServletContextInitializerBeans(EmbeddedWebApplicationContext.java:237) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.selfInitialize(EmbeddedWebApplicationContext.java:224) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.access$000(EmbeddedWebApplicationContext.java:85) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext$1.onStartup(EmbeddedWebApplicationContext.java:209) 
    at org.springframework.boot.context.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:55) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5244) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#648b2d65': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.web.mapping.mvc.UrlMappingsHandlerMapping.setWebRequestInterceptors(org.springframework.web.context.request.WebRequestInterceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'openEntityManagerInViewInterceptor' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined: expected single matching bean but found 2: entityManagerFactory,offersEntityManagerFactory 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299) 
    ... 26 common frames omitted 
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void grails.plugin.cache.web.filter.PageFragmentCachingFilter.setUrlMappingsHandlerMapping(org.grails.web.mapping.mvc.UrlMappingsHandlerMapping); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.web.mapping.mvc.UrlMappingsHandlerMapping.setWebRequestInterceptors(org.springframework.web.context.request.WebRequestInterceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'openEntityManagerInViewInterceptor' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined: expected single matching bean but found 2: entityManagerFactory,offersEntityManagerFactory 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:661) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) 
    ... 30 common frames omitted 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMappingsHandlerMapping': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.web.mapping.mvc.UrlMappingsHandlerMapping.setWebRequestInterceptors(org.springframework.web.context.request.WebRequestInterceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'openEntityManagerInViewInterceptor' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined: expected single matching bean but found 2: entityManagerFactory,offersEntityManagerFactory 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:618) 
    ... 32 common frames omitted 
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.web.mapping.mvc.UrlMappingsHandlerMapping.setWebRequestInterceptors(org.springframework.web.context.request.WebRequestInterceptor[]); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'openEntityManagerInViewInterceptor' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined: expected single matching bean but found 2: entityManagerFactory,offersEntityManagerFactory 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:661) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) 
    ... 43 common frames omitted 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'openEntityManagerInViewInterceptor' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined: expected single matching bean but found 2: entityManagerFactory,offersEntityManagerFactory 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1041) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:618) 
    ... 45 common frames omitted 
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined: expected single matching bean but found 2: entityManagerFactory,offersEntityManagerFactory 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:366) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:332) 
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.findEntityManagerFactory(EntityManagerFactoryUtils.java:143) 
    at org.springframework.orm.jpa.EntityManagerFactoryAccessor.setBeanFactory(EntityManagerFactoryAccessor.java:137) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1597) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1565) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
    ... 54 common frames omitted 
INFO 

resources.groovyファイルが

importBeans('classpath*:spring-config.xml') 
importBeans('classpath*:spring-offers-data-access-config.xml') 

私の2つのデータベース・コンフィギュレーション・ファイル 1

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
     <value>/spring-offers-data-access.properties</value> 
    </property> 
</bean> 
    <!-- the base package for spring data jpa repository interfaces --> 
    <jpa:repositories base-package="com.asklytics.offers.dao.repos" 
         entity-manager-factory-ref="offersEntityManagerFactory" transaction-manager-ref="offersTransactionManager"/> 

    <!-- Enable the component scan (auto wiring etc) for the following package --> 
    <context:component-scan base-package="com.asklytics.offers" /> 

    <!-- Make sure the following is specified to enable transaction --> 
    <tx:annotation-driven /> 
    <bean class="org.springframework.orm.jpa.JpaTransactionManager" id="offersTransactionManager"> 
     <property name="entityManagerFactory" ref="offersEntityManagerFactory" /> 
    </bean> 

    <!-- This defines the entity manager factory with some custom properties --> 
    <bean id='offersEntityManagerFactory' class='org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'> 
     <property name="persistenceUnitName" value="offersPersistanceUnit"/> 
     <property name='dataSource' ref='offersDatasource' /> 
     <property name="packagesToScan" value="com.asklytics.offers" /> 
    </bean> 

    <!--&lt;!&ndash; Create default configuration for Hibernate &ndash;&gt; 
    <bean id="hibernateJpaVendorAdapter" 
      class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
     <property name="showSql" value="true"/> 
     <property name="generateDdl" value="true"/> 
     <property name="database" value="MYSQL"/> 
    </bean> 

    &lt;!&ndash; Configure the entity manager factory bean &ndash;&gt; 
    <bean id="entityManagerFactory" 
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="dataSource" ref="dataSource"/> 
     <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/> 
     &lt;!&ndash; Set JPA properties &ndash;&gt; 
     <property name="jpaProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> 
       <prop key="javax.persistence.schema-generation.database.action">none</prop> 
       <prop key="hibernate.ejb.use_class_enhancer">true</prop> 
      </props> 
     </property> 
     &lt;!&ndash; Set base package of your entities &ndash;&gt; 
     <property name="packagesToScan" value="com.asklytics.data.access"/> 
     &lt;!&ndash; Set share cache mode &ndash;&gt; 
     <property name="sharedCacheMode" value="ENABLE_SELECTIVE"/> 
     &lt;!&ndash; Set validation mode &ndash;&gt; 
     <property name="validationMode" value="NONE"/> 
    </bean>--> 

    <!-- This defines the hsqldb data source --> 
    <!-- 
    <bean id='dataSource' class='org.springframework.jdbc.datasource.DriverManagerDataSource'> 
     <property name='driverClassName' value='org.hsqldb.jdbc.JDBCDriver' /> 
     <property name='url' value='jdbc:hsqldb:file:spring_jpa_test_db' /> 
     <property name='username' value='sa' /> 
     <property name='password' value='' /> 
    </bean> 
    --> 

    <bean id='offersDatasource' class='org.springframework.jdbc.datasource.DriverManagerDataSource'> 
     <property name='driverClassName' value='com.mysql.jdbc.Driver' /> 
     <property name='url' value="${offersDataAccessDbUrl}" /> 
     <property name='username' value="${offersDataAccessDbUsername}" /> 
     <property name='password' value="${offersDataAccessDbPassword}" /> 
    </bean> 

    <!--&lt;!&ndash; flyway configuration &ndash;&gt; 
    <bean id="flyway" class="org.flywaydb.core.Flyway" depends-on="dataSource" init-method="migrate"> 
      <property name="dataSource" ref="dataSource"/> 
    </bean>--> 

</beans> 

2nd file

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
     <value>/spring-data-access.properties</value> 
    </property> 
</bean> 
<!-- the base package for spring data jpa repository interfaces --> 
<jpa:repositories base-package="com.asklytics.dao.repos" 
        entity-manager-factory-ref="entityManagerFactory" transaction-manager-ref="transactionManager"/> 

<!-- Enable the component scan (auto wiring etc) for the following package --> 
<context:component-scan base-package="com.asklytics.dao" /> 

<!-- Make sure the following is specified to enable transaction --> 
<tx:annotation-driven /> 
<bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager"> 
    <property name="entityManagerFactory" ref="entityManagerFactory" /> 
</bean> 

<!-- This defines the entity manager factory with some custom properties --> 
<bean id='entityManagerFactory' class='org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'> 
    <property name="persistenceUnitName" value="persitanceUnit"/> 
    <property name='dataSource' ref='dataSource' /> 
    <property name="packagesToScan" value="com.asklytics.dao" /> 
</bean> 

<!--&lt;!&ndash; Create default configuration for Hibernate &ndash;&gt; 
<bean id="hibernateJpaVendorAdapter" 
     class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
    <property name="showSql" value="true"/> 
    <property name="generateDdl" value="true"/> 
    <property name="database" value="MYSQL"/> 
</bean> 

&lt;!&ndash; Configure the entity manager factory bean &ndash;&gt; 
<bean id="entityManagerFactory" 
     class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="dataSource" ref="dataSource"/> 
    <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/> 
    &lt;!&ndash; Set JPA properties &ndash;&gt; 
    <property name="jpaProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> 
      <prop key="javax.persistence.schema-generation.database.action">none</prop> 
      <prop key="hibernate.ejb.use_class_enhancer">true</prop> 
     </props> 
    </property> 
    &lt;!&ndash; Set base package of your entities &ndash;&gt; 
    <property name="packagesToScan" value="com.asklytics.data.access"/> 
    &lt;!&ndash; Set share cache mode &ndash;&gt; 
    <property name="sharedCacheMode" value="ENABLE_SELECTIVE"/> 
    &lt;!&ndash; Set validation mode &ndash;&gt; 
    <property name="validationMode" value="NONE"/> 
</bean>--> 

<!-- This defines the hsqldb data source --> 
<!-- 
<bean id='dataSource' class='org.springframework.jdbc.datasource.DriverManagerDataSource'> 
    <property name='driverClassName' value='org.hsqldb.jdbc.JDBCDriver' /> 
    <property name='url' value='jdbc:hsqldb:file:spring_jpa_test_db' /> 
    <property name='username' value='sa' /> 
    <property name='password' value='' /> 
</bean> 
--> 

<bean id='dataSource' class='org.springframework.jdbc.datasource.DriverManagerDataSource'> 
    <property name='driverClassName' value='com.mysql.jdbc.Driver' /> 
    <property name='url' value="${dataAccessDbUrl}" /> 
    <property name='username' value="${dataAccessDbUsername}" /> 
    <property name='password' value="${dataAccessDbPassword}" /> 
</bean> 

<!--&lt;!&ndash; flyway configuration &ndash;&gt; 
<bean id="flyway" class="org.flywaydb.core.Flyway" depends-on="dataSource" init-method="migrate"> 
     <property name="dataSource" ref="dataSource"/> 
</bean>--> 

答えて

3

<bean id="entityManagerFactory" primary="true" class='org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'> 
    <property name="persistenceUnitName" value="persitanceUnit"/> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="packagesToScan" value="com.asklytics.dao" /> 
</bean> 
としてエンティティ・工場のいずれかを宣言します
関連する問題