我有一个问题:我的应用程序有一个mssql主机,其中有两个数据库。我所有的实体都看基数:一个实体应该看一下基础我可以通过在 @Table 参数(schema=databasename.schema)有没有什么办法可以让你 @Table (架构)参数是否来自application.properties?
@Table
rpppsulh1#
是的,这是可能的。请查看以下属性:
<property name="hibernate.default_catalog" value="crm"/> <property name="hibernate.default_schema" value="analytics"/>
您可以在spring引导中使用以下属性 application.properties :
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接口的自定义实现,可以自定义如何解析架构名称。
hibernate.default_schema
hibernate.schema_name_resolver
1条答案
按热度按时间rpppsulh1#
是的,这是可能的。请查看以下属性:
您可以在spring引导中使用以下属性
application.properties
:再看看
@Table
注解文档。当您设置schema属性时,hibernate使用这个指定的schema,否则它将使用您可以通过提供的用户默认schemahibernate.default_schema
.您还可以尝试编写自定义模式名称解析器。如文件中所述
hibernate.schema_name_resolver
属性:默认情况下,hibernate使用org.hibernate.dialect.dialect#getschemanameresolver。通过提供schemanameresolver接口的自定义实现,可以自定义如何解析架构名称。