我正在使用spring-Hibernate DAO Layer,我创建了具有数据源和所有hbm xml列表的spring配置文件,并且每个hbm都与表映射为 table =" schema1.table1"
我们在生产中有另一个模式说prodSchema,我想知道如何通过使用propfile等动态传递模式名称到hbm文件,以便在运行时我可以更改。
答案 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中指定)