如何在运行时从另一个数据库获取数据

时间:2012-09-02 11:37:37

标签: grails runtime datasource

我需要一种在运行时更改数据库的最佳方法,无论是来自休眠还是来自JNDI或其他。当用户点击特定按钮时,我需要更改数据库(更改事件的依赖关系)。

1 个答案:

答案 0 :(得分:2)

如果您运行的是Grails 1.3.x,则可以使用Grails 2.x Burt Beckwith's Datasources plugin中的that feature has been added to core

然后您可以使用参数传递数据库连接名称

def database = params.database
if(!database) database = "default"

并使用Groovy dynamic method invocation来调用它

def zipCode = ZipCode.'${database}'.get(42)
…
zipCode.'${database}'.save()