Spring with Hibernate-如何动态传递模式名称

时间:2017-01-11 12:51:21

标签: spring hibernate

我正在使用spring-Hibernate DAO Layer,我创建了具有数据源和所有hbm xml列表的spring配置文件,并且每个hbm都与表映射为 table =" schema1.table1"

我们在生产中有另一个模式说prodSchema,我想知道如何通过使用propfile等动态传递模式名称到hbm文件,以便在运行时我可以更改。

1 个答案:

答案 0 :(得分:0)

Java注释仅支持编译时常量。即你不能把变量放在注释参数中。 参考:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.28

您的情况对于大多数项目和开发人员来说都很常见。我一般使用外部数据库配置文件,其中我放置了连接参数,架构和凭据。此文件在每个环境中创建一次,并且在DB服务器发生任何更改之前保持不变。

常规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中指定)