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
각 sessionFactory 빈에 이미 hibernateProperties 세트가 있으며 값은 구성의 'hibernate' 블록에서 설정되므로'hibernate_' –
환경에 값을 추가 할 수 있어야합니다. 환경 변수를 설정하십시오. development.hibernate.default_schema : blah_schema' 나는 그것을 작동시킬 수있었습니다. 이 솔루션은 다른 데이터 소스에 영향을 미치지 않는 것으로 보입니다. 질문에 '대답'하면 나는 그것을 표시 할 수 있습니다. –
멋지다. 작동하고있어 기쁘다. (스프링 빈 정의를 파고 들지 않는) –