spring数据jpa,hibernate@table

bqujaahr  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(281)

我有一个问题:我的应用程序有一个mssql主机,其中有两个数据库。我所有的实体都看基数:
一个实体应该看一下基础
我可以通过在 @Table 参数(schema=databasename.schema)
有没有什么办法可以让你 @Table (架构)参数是否来自application.properties?

rpppsulh

rpppsulh1#

是的,这是可能的。请查看以下属性:

<property name="hibernate.default_catalog" value="crm"/>
<property name="hibernate.default_schema" value="analytics"/>

您可以在spring引导中使用以下属性 application.properties :

spring.jpa.properties.hibernate.default_catalog=crm
spring.jpa.properties.hibernate.default_schema=analytics

再看看 @Table 注解文档。当您设置schema属性时,hibernate使用这个指定的schema,否则它将使用您可以通过提供的用户默认schema hibernate.default_schema .
您还可以尝试编写自定义模式名称解析器。如文件中所述 hibernate.schema_name_resolver 属性:
默认情况下,hibernate使用org.hibernate.dialect.dialect#getschemanameresolver。通过提供schemanameresolver接口的自定义实现,可以自定义如何解析架构名称。

相关问题