在我们的特定应用程序中,db.properties 文件由 3d 方提供。根据配置,此属性文件可以包含或不包含 db.schema 属性。因此,如果没有 db.schema 属性,则 db.username 必须用于 hibernate.default_schema 属性。
如果 db.schema 不存在,占位符 ${db.schema:db.username} 不会检索 db.username 的值,因此传播“db.schema”值而不是实际(即 dba)值。
所以,问题是:如果 db.schema 不存在(假设 db.username 始终存在),如何传播 db.username 的默认值?
<util:properties id="specificHibernateProperties">
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.default_schema">${db.schema:db.username}</prop>
</util:properties>