【问题标题】:In grails 2 when using multiple datasources, can I specify which datasource a criteria should use?在 grails 2 中使用多个数据源时,我可以指定条件应该使用哪个数据源吗?
【发布时间】:2012-08-22 23:49:41
【问题描述】:

在我的 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'

【问题讨论】:

    标签: grails-orm criteria grails-2.0


    【解决方案1】:

    不是一个很好的解决方案,但是如果您事先访问数据源(大概在同一个休眠会话中),它确实可以工作。

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

    【讨论】:

      猜你喜欢
      • 2019-11-21
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 2014-04-16
      • 1970-01-01
      • 2015-07-17
      相关资源
      最近更新 更多