0

MS SqlSpring XDのDAOでHibernateentityManagerFactoryを使用することは可能ですか??

DataSource私のプロジェクトには構成クラスがあり、私のプロジェクトに必要な構成に必要な Bean を書いていますJDBCTemplate

私もビーンズのようなものを持っています

 @Bean(name = "entityManagerFactory")
  public LocalContainerEntityManagerFactoryBean entityManagerFactory(@Qualifier("sqlServerDataSource") DataSource dataSource) {
      LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
      lef.setDataSource(dataSource);
      lef.setJpaVendorAdapter(jpaVendorAdapter());
      lef.setPackagesToScan("de.id.dih");
      return lef;
  } 

private JpaVendorAdapter jpaVendorAdapter() {
      HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
      hibernateJpaVendorAdapter.setShowSql(true);
      hibernateJpaVendorAdapter.setDatabase(Database.SQL_SERVER);
      return hibernateJpaVendorAdapter;
  }

  @Bean
  public PlatformTransactionManager transactionManager(LocalContainerEntityManagerFactoryBean emf) {
      JpaTransactionManager transactionManager = new JpaTransactionManager();
      transactionManager.setEntityManagerFactory(emf.getObject());
      return transactionManager;
  } 

プロジェクトを Spring XD にデプロイすると、

私は例外を取得します:

java.lang.NoClassDefFoundError: org/springframework/orm/jpa/JpaVendorAdapter.

次に、spring-boot-starter-data-jpa の依存関係を追加すると、次のような例外が発生しました

java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.boot.SpringApplicationRunListener : org.springframework.boot.context.event.EventPublishingRunListener

提供されるスコープの有無にかかわらず、Spring Boot の依存関係を含めようとしました。依存関係を追加しようとしました

hibernate-jpa-2.1-api, 
hibernate-entitymanager, 
spring-orm 

ローカルPOMに。

また、依存関係をSpring XD libフォルダーに直接移動しましたが、それを行った後、例外が発生しました:

ERROR main boot.SpringApplication - Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set .

そして、hibernate.dialect を設定すると、例外は次のようになります。

16:39:23,344 エラー DeploymentsPathChildrenCache-0 server.ContainerRegistrar - モジュール java.lang.IllegalArgumentException をデプロイする例外: インターフェイス org.springframework.boot.SpringApplicationRunListener をインスタンス化できません: org.springframework.boot.context.event.EventPublishingRunListener org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:381) で org.springframework.boot.SpringApplication.getRunListeners(SpringApplication.java:352) で org.springframework.boot.SpringApplication.run(SpringApplication.java:274) ) org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) で org.springframework.xd.module.core.SimpleModule.initialize(SimpleModule.java:203) で org.springframework.xd.dirt. module.ModuleDeployer.deploy(ModuleDeployer.java:98) at org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer.java:88) at org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer. java:78) org.springframework.xd.dirt.server.ContainerRegistrar.deployModule(ContainerRegistrar.java:231) org.springframework.xd.dirt.server.ContainerRegistrar.deployJobModule(ContainerRegistrar.java:530) で org.springframework.xd.dirt.server.ContainerRegistrar.onChildAdded(ContainerRegistrar.java:447) で org.springframework.xd org.springframework.xd.dirt.server.ContainerRegistrar$DeploymentListener.childEvent(ContainerRegistrar.java:826) の .dirt.server.ContainerRegistrar.access$800(ContainerRegistrar.java:95) cache.PathChildrenCache$5.apply(PathChildrenCache.java:509) at org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:503) at org.apache.curator.framework.listen.ListenerContainer$1 .run(ListenerContainer.java:92) at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) at org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:83) org.apache.curator.framework.recipes.cache.PathChildrenCache.callListeners(PathChildrenCache.java:500) org.apache.curator.framework. Recipes.cache.EventOperation.invoke(EventOperation.java:35) org.apache.curator.framework.recipes.cache.PathChildrenCache$10.run(PathChildrenCache.java:762) で java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:471) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) で java.util.concurrent.FutureTask.run(FutureTask.java:166) で java.util.concurrent で。 Executors$RunnableAdapter.call(Executors.java:471) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) で java.util.concurrent.FutureTask.run(FutureTask.java:166) で java .util.concurrent.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) の ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.lang.Thread.run(Thread.java:722) の原因: java.lang .IllegalArgumentException: クラス org.springframework.boot.context.event.EventPublishingRunListener は、org.springframework.util.Assert.isAssignable(Assert.java:369) で org.springframework.util.SpringApplicationRunListener のインターフェイス org.springframework.boot.SpringApplicationRunListener に割り当てられません。 .Assert.isAssignable(Assert.java:352) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) ... 29 詳細lang.IllegalArgumentException: クラス org.springframework.boot.context.event.EventPublishingRunListener は、org.springframework の org.springframework.util.Assert.isAssignable(Assert.java:369) のインターフェース org.springframework.boot.SpringApplicationRunListener に割り当てられません。 util.Assert.isAssignable(Assert.java:352) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) ... 29 詳細lang.IllegalArgumentException: クラス org.springframework.boot.context.event.EventPublishingRunListener は、org.springframework の org.springframework.util.Assert.isAssignable(Assert.java:369) のインターフェース org.springframework.boot.SpringApplicationRunListener に割り当てられません。 util.Assert.isAssignable(Assert.java:352) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:375) ... 29 詳細getSpringFactoriesInstances(SpringApplication.java:375) ... 29 もっと見るgetSpringFactoriesInstances(SpringApplication.java:375) ... 29 もっと見る

この Exception の原因を特定できる人はいますか?

SPRING-XD を使用した上記の作業例に関するヘルプは、非常に高く評価されています。

ありがとう

4

0 に答える 0