Hibernate Grails在运行时更改数据源

Hibernate Grails在运行时更改数据源,hibernate,grails,gorm,Hibernate,Grails,Gorm,我被要求为一个单独的用户实现一个单独的域逻辑(假设他有自己的数据库),这意味着所有的域在运行时都将映射到不同的数据库听起来很傻,我知道 在用户登录datasource后,如何更改datasource(持久性配置文件) 应该在应用程序启动时加载。 有可能吗? 注意:我想在运行时将某个域的数据源一次一个地更改为另一个数据源 您可以在DataSource.groovy文件中映射多个数据源,您可以创建多个域类,然后您可以在运行时在这些数据源之间执行任何CRUD操作 工具书类 我的意思是说,一个域

我被要求为一个单独的用户实现一个单独的域逻辑(假设他有自己的数据库),这意味着所有的域在运行时都将映射到不同的数据库听起来很傻,我知道

在用户登录datasource后,如何更改datasource(持久性配置文件) 应该在应用程序启动时加载。

有可能吗?


注意:我想在运行时将某个域的数据源一次一个地更改为另一个数据源

您可以在
DataSource.groovy
文件中映射多个数据源,您可以创建多个域类,然后您可以在运行时在这些数据源之间执行任何
CRUD
操作

工具书类

我的意思是说,一个域映射到数据库1中的一个表,同一个域在运行时是否可以映射到数据库2中的一个表???是的,可以映射同一个域和不同的数据源,如下面的
数据源(['lookup','auditing'])
。您可以将域类映射到域类中的所有数据库
datasource'all'
。请阅读以获得更清晰的信息。感谢您的关注,但我不想同时将我的域指向两个数据源,我想将我域的数据源更改为另一个数据源,而不是两个数据源。多个数据源(多个域类)是实现此要求的一种非常好的方法。域能够为所有数据源提供服务。只需告诉域您希望在运行时在哪个数据源中执行CRUD操作。请参阅答案中给出的链接。创建多个数据源,当需要在特定数据源中执行某些操作时,只需更改数据源名称即可<代码>def userClass=User.class;User User=userClass.${dataSourceName}.findByName('amit')。嘿,sachin,,我面临类似的问题..你能帮我找到vishal吗。sujanian@gmail.com