Grails サービスから Hibernate プロパティにアクセスするにはどうすればよいですか?
この例ではcreateSQLQuery
、レガシー データベースを使用する必要がありhibernate.default_schema
、有効な SQL ステートメントを作成するためにプロパティにアクセスする必要があります。
class MyService {
def sessionFactory
def getRows() {
def session = sessionFactory.currentSession
session.createSQLQuery("SELECT * FROM schema.table").list()
}
}
アップデート
Grails 2.x の複数のデータソースと Hibernate プロパティの設定には癖があります。追加のデータソースに設定されたプロパティは、デフォルトのデータソースに適用されます。
hibernate
プロパティは、オブジェクトではなくオブジェクトで設定する必要がありdatasource
ます。
datasource_ds2 {
. . .
}
hibernate_ds2 {
default_schema = "schema"
}
hibernate
これらは、grailsApplicationの構成からアクセスできます。
def grailsApplication
assert grailsApplication.config.hibernate_ds2.default_schema == "schema"