Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails在不同的数据源中创建域对象_Grails_Gorm_Grails 2.0 - Fatal编程技术网

Grails在不同的数据源中创建域对象

Grails在不同的数据源中创建域对象,grails,gorm,grails-2.0,Grails,Gorm,Grails 2.0,我想根据一个条件在不同的数据源中创建一个域对象,但是当我们实例化一个新对象,比如newfoo().save()时,无法设置要执行的数据源 我还注意到,如果我执行new Foo().dataSource2.save()操作,除了dataSource2之外,它还保存在默认(未命名)数据源中。我们如何仅在一个数据源中实例化对象并仅在其中保存 我使用的是grails2.4.3 编辑:使其清晰。我想在运行时动态选择要在其中创建用户的数据源。似乎new Foo()。dataSource2.save()以后不

我想根据一个条件在不同的数据源中创建一个域对象,但是当我们实例化一个新对象,比如
newfoo().save()
时,无法设置要执行的数据源

我还注意到,如果我执行
new Foo().dataSource2.save()
操作,除了
dataSource2
之外,它还保存在默认(未命名)数据源中。我们如何仅在一个数据源中实例化对象并仅在其中保存

我使用的是
grails2.4.3


编辑:使其清晰。我想在运行时动态选择要在其中创建用户的数据源。

似乎
new Foo()。dataSource2.save()
以后不会尝试将其保存在未命名的数据源中。这个解决方案实际上是可行的。

Grails并没有为此提供现成的解决方案,但是由于它是基于Spring构建的,所以您应该能够使用AbstractRoutingDataSource和一些线程局部变量使其工作。然而,在Hibernate中,您可能会丢失辅助缓存,而且可能还有其他的怪癖。这是可以做到的,但需要做很多工作。