1
Springへの新規リリース& Springブートで、2つのデータソースにアクセスしようとしていますが、1つのデータソースにしか接続できません。Springブートで複数のデータソースにアクセスできない
私は、コールが最初のデータソースに行く第二のデータソースにアクセスする機能を呼び出そうと、私は以下のエラーを取得し、
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表 私はマルチDBアクセスについては、以下のチュートリアルに従っていると、私のコードは、Roufidリンクのコードに似て
存在しない「testify.test」、
誰かが私が行方不明ですかどこ私は間違いをやっているものを指摘することはできますか?
以下のコードファイル、
は
@Configuration
@EnableJpaRepositories(entityManagerFactoryRef = "aEntityManager",
transactionManagerRef = "aTransactionManager",
basePackages = "test.serv")
public class AConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource.adb")
public DataSource aDataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean(name="aEntityManager")
public LocalContainerEntityManagerFactoryBean mysqlEntManFactory(EntityManagerFactoryBuilder build) {
return build.dataSource(aDataSource()).persistenceUnit("aPU").build();
}
@Primary
@Bean(name="aTransactionManager")
public PlatformTransactionManager mysqlTransactionManager(@Qualifier("aEntityManager") EntityManagerFactory enManFact) {
return new JpaTransactionManager(enManFact);
}
}
BConfig.java
@Configuration
@EnableJpaRepositories(entityManagerFactoryRef = "bEntityManager",
transactionManagerRef = "bTransactionManager",
basePackages = "test.serv")
public class BConfig {
@Bean
@ConfigurationProperties(prefix="spring.datasource.bdb")
public DataSource bDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name="bEntityManager")
public LocalContainerEntityManagerFactoryBean mysqlEntManFactory(EntityManagerFactoryBuilder build) {
return build.dataSource(bDataSource()).persistenceUnit("bPU").build();
}
@Bean(name="bTransactionManager")
public PlatformTransactionManager mysqlTransactionManager(@Qualifier("bEntityManager") EntityManagerFactory enManFact) {
return new JpaTransactionManager(enManFact);
}
}
persistence.xmlの
AConfig.javaです<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="aPU" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
<persistence-unit name="bPU" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
</persistence>
Service.java
public interface Service extends CrudRepository<X, Integer> {
@Query(value = "select y from test where x = :x", nativeQuery = true)
List<Object[]> findByName(@Param("x") String x);
}
それは働いた!それが間違いであることはどうでしたか? –
SOは私が4分後にしか受け入れることができないと言っています。それで数分で受け入れます。ああ、ありがとう:) 私はdoとdontが春に見つけられるサイトやチュートリアルを知っていますか? –