2016-10-24 14 views
1

grails 3.1.6을 구하는 데 어려움을 겪고 있었고 jndi가 여러 데이터 소스에서 작동하는 데 어려움을 겪었습니다. 매우 가깝지만 'hibernate.default_schema'를 설정해야합니다. 데이터 소스 중 하나에 있지만 환경에 따라 다릅니다.resources.groovy에서 기존 스프링 빈을 편집하는 방법

resources.goovy : 나는 당신이 SessionFactory를에 'hibernateProperties'에 넣을 수 있지만 원하는 속성을 추가하는 방법을 잘 모르겠어요 읽었습니다

dataSource(JndiObjectFactoryBean) { 
     jndiName = "java:comp/env/jdbc/blah" 
    } 

.

데이터 소스에서 'hibernate.default_schema'를 어떻게 설정합니까?

편집 : 나는 application.yml를 통해 스키마를 설정하려고했지만 작동하지 않는 것 : 각 sessionFactory 콩에 hibernateProperties 세트가 이미 있습니다

someEnv: # rest of the db config setup in resources.groovy 
    dataSources: 
     dataSource: 
      hibernate: 
       default_schema: something 
+0

각 sessionFactory 빈에 이미 hibernateProperties 세트가 있으며 값은 구성의 'hibernate' 블록에서 설정되므로'hibernate_ ' –

+0

환경에 값을 추가 할 수 있어야합니다. 환경 변수를 설정하십시오. development.hibernate.default_schema : blah_schema' 나는 그것을 작동시킬 수있었습니다. 이 솔루션은 다른 데이터 소스에 영향을 미치지 않는 것으로 보입니다. 질문에 '대답'하면 나는 그것을 표시 할 수 있습니다. –

+0

멋지다. 작동하고있어 기쁘다. (스프링 빈 정의를 파고 들지 않는) –

답변

0

, 그 값 구성의 hibernate 블록에서 설정되므로 hibernate_<yourdatasourcename> 아래에 추가 할 수 있습니다.