【发布时间】:2017-01-11 12:51:20
【问题描述】:
我正在使用 spring-Hibernate DAO 层,我创建了具有数据源和所有 hbm xml 列表的 spring 配置文件,并且每个 hbm 都与表映射为 表 =“schema1.table1”
我们在生产中有另一个模式说 prodSchema,我想知道如何通过使用 propfile 等动态地将模式名称传递给 hbm 文件,以便在运行时我可以更改。
【问题讨论】:
我正在使用 spring-Hibernate DAO 层,我创建了具有数据源和所有 hbm xml 列表的 spring 配置文件,并且每个 hbm 都与表映射为 表 =“schema1.table1”
我们在生产中有另一个模式说 prodSchema,我想知道如何通过使用 propfile 等动态地将模式名称传递给 hbm 文件,以便在运行时我可以更改。
【问题讨论】:
Java 注解只支持编译时常量。即您不能将变量放在注释参数中。 参考:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.28
您的情况对于大多数项目和开发人员来说都很常见。我通常使用外部数据库配置文件,我在其中放置连接参数、模式和凭据。该文件在每个环境中创建一次,并保持不变,直到数据库服务器发生任何变化。
通用 Hibernate 属性供快速参考。
hibernate.connection.driver_class:JDBC驱动类
hibernate.connection.url:JDBC URL(可能包含架构)
hibernate.connection.username:数据库用户
hibernate.connection.password:数据库用户密码
hibernate.default_schema :用 在生成的 SQL 中给定模式/表空间。例如SCHEMA_NAME(使用这个 如果您未在 JDBC URL 中指定)
【讨论】: