2012-04-24 7 views
4

特定のアプリケーションdb.propertiesファイルは、3Dパーティーによって提供されています。構成に依存して、このプロパティー・ファイルにはdb.schemaプロパティーが含まれていてもいなくてもかまいません。したがって、db.schemaプロパティがない場合は、hibernate.default_schemaプロパティにdb.usernameを使用する必要があります。spring xmlのデフォルトのプレースホルダ値

プレースホルダ$ {db.schema:db.username}は、db.schemaが存在しない場合はdb.usernameの値を取得しないため、実際の(dba)値の代わりに 'db.schema'値が反映されます。

質問:db.ushemameが存在しない場合の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> 

答えて

6

ネストされたプレースホルダを使用することは可能です。 だから、これを試してください。rgrds

${db.schema:${db.username}} 

/

+0

私は懐疑的だったが、私はこれを試してみましたが、それが実際に動作します。ニース! – sourcedelica

関連する問題