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