2012-04-24 4 views
4

특정 응용 프로그램에서 db.properties 파일은 3D 파티에서 제공됩니다. 구성에 따라이 등록 정보 파일에는 db.schema 등록 정보가 포함될 수 있습니다. 따라서 db.schema 속성이 없으면 hibernate.default_schema 속성에 db.username을 사용해야합니다.스프링 xml의 기본 자리 표시 자

자리 표시 자 $ {db.schema : db.username}은 db.schema가없는 경우 db.username 값을 검색하지 않으므로 'db.schema'값이 실제 (즉 dba) 값 대신 전파됩니다 .

그렇다면 질문은 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

중첩 된 자리 표시자를 사용할 수 있어야합니다. 그래서 이것을 시도하십시오

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

/rgrds

+0

나는 회의적이었다 그러나 나는이 시도하고 실제로 작동합니다. 좋은! – sourcedelica