在我的项目中,我使用 spring-data-jdbc 版本 2.0.4.RELEASE,但我遇到了如何为表指定架构的问题。实体类看起来像这样
@Data
@Table(value = "alpha.op_organization")
public class OrganizationEntity {
@Id
private Long id;
@Column(name="name")
private String name;
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用 jdbc 存储库方法保存实体,save如下所示
OrganizationEntity organization = new OrganizationEntity();
organization.setName("OrgName1");
organizationRepository.save(organisation)
Run Code Online (Sandbox Code Playgroud)
我遇到异常“关系 alpha.op_organization 不存在。相应的 sql 查询是
INSERT INTO "alpha.op_organization" ("name") VALUES (?)
Run Code Online (Sandbox Code Playgroud)
IE。事实证明,我们正在尝试在表“alpha.op_organization”中插入条目,而不是在模式 alpha 的表 op_organization 中插入条目。
我尝试自定义 NamingStrategy 以返回模式 alpha,但没有成功。
@Configuration
public class AppConfig extends AbstractJdbcConfiguration {
@Bean
public NamingStrategy namingStrategy() {
return new NamingStrategy() {
@Override
public String getSchema() {
return "alpha";
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在 spring-data-jdbc 中指定表架构?
目前,执行此操作的方法是定义一个NamingStrategy. 取自此集成测试的示例:
@Bean
NamingStrategy namingStrategy() {
return new NamingStrategy() {
@Override
public String getSchema() {
return "other";
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4573 次 |
| 最近记录: |