2

私の grails 2 アプリケーションでは、Datasources.groovy に複数のデータソースが構成されています。私のドメイン クラス マッピングは、すべてのデータソースを使用する必要があることを指定します

class Book {
    static mapping = { datasource 'ALL' }

基本的な Gorm 呼び出しでは、使用するデータソースを指定できます。

Book.lookup.save() 「ルックアップ」データソースを正しく使用する

条件で使用するデータソースを指定する方法はありますか?

次の4つの解決策を試してみましたが、うまくいきませんでした

  1. def c = Book.lookup.createCriteria(); c.list{...

    .list を呼び出すと、次がスローされます: java.sql.SQLException: Connection is closed

  2. def c = Book.createCriteria(); c.lookup.list{...
    そのような方法はありません

  3. データソースの注入

    def dataSource_lookup

    ...

    Book.createCriteria(dataSource_lookup)
    そのような方法はありません

  4. 基準が配置されているサービス全体が特定のデータソースを使用する必要があることを指定しても、基準に対しても基本的な save() 呼び出しに対しても機能していないようです。私はgrails 2.1.0を実行しています。

    static datasource = 'lookup'

4

1 に答える 1

1

優れたソリューションではありませんが、事前にデータソースにアクセスすると機能します (おそらく同じ休止状態セッション内で)。

Book.lookup.read(1)
def c = Book.lookup.createCriteria()
c.list{...
于 2012-08-23T17:46:13.963 に答える