0
私はMS SQL Server(2008)データベースに2つのスキーマを持っています。ドメインオブジェクトの認証とmyapp私は両方のスキーマにJPA-Entityを持たせたいと思っています。私は設定のためにSpringBootを使用します。JPAでSQL Server 2008スキーマを使用
エンティティテーブルは正しいスキーマに必要なだけ作成されます。 myschema.jobですが、リレーションシップテーブル。 Job_Employeeは、デフォルトのスキーマdbo内に作成されます。自動的に作成された表がどのスキーマに格納されるかを設定するにはどうしたらいいですか?
@Entity
@Table(schema="myschema")
public class Job {[...]
私application.ymlは、次のようになります。
spring:
profiles: dev
datasource:
datasource1:
url: jdbc:sqlserver://localhost;databaseName=mydb;schema=myschema
username: SA
password: ###
datasource2:
url: jdbc:sqlserver://localhost;databaseName=mydb;schema=dbo
username: SA
password: ###
jpa:
show-sql: true
hibernate.ddl-auto : create-drop
properties:
hibernate.dialect: org.hibernate.dialect.SQLServer2012Dialect
hibernate.default_schema: dbo
およびデータソースは
@Configuration
@EnableJpaRepositories
public class JPAConfiguration {
@Bean
@Primary
@ConfigurationProperties("spring.datasource.datasource1")
public DataSourceProperties firstDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@Primary
@ConfigurationProperties("spring.datasource.datasource1")
public DataSource firstDataSource() {
return firstDataSourceProperties().initializeDataSourceBuilder().build();
}
@Bean
@ConfigurationProperties("spring.datasource.datasource2")
public DataSourceProperties secondDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@ConfigurationProperties("spring.datasource.datasource2")
public DataSource secondDataSource() {
return secondDataSourceProperties().initializeDataSourceBuilder().build();
}
}
おかげで設定されます!