有没有办法在 Grails 中配置对数据库的两个不同模式的访问?
Posted
技术标签:
【中文标题】有没有办法在 Grails 中配置对数据库的两个不同模式的访问?【英文标题】:Is there a way to configure in Grails access to two different schemas of the database? 【发布时间】:2009-12-22 10:12:01 【问题描述】:我需要从 Grails 访问不同模式中的几个不同表。用户对所有表都有访问权限,但是,当我尝试将域类映射到表时,我找不到完成它的方法。
我尝试过以这种方式映射域:
static mapping =
table 'SCHEMA2.TABLE'
//Table columns and mapping
...
我还可以更改 DataSource 文件上的默认架构,但在这种情况下,我只访问两个架构之一
hibernate.default_schema = 'schema2'
我们已经使用别名来从 schema1 访问 schema2 中的表,但我认为应该有一种方法可以做到这一点,而不必使用 Hibernate 定义所有映射(我真的不喜欢 XML 文件)
【问题讨论】:
那么你为什么要使用两种不同的方案呢?为什么不像两个不同的数据库一样处理它? 这是一个遗留数据库。我更喜欢将它们作为同一个数据库进行访问,因为它们实际上是。 【参考方案1】:我知道这个问题很老了,但以防万一:
您可以在域类映射部分执行此操作:
static mapping =
table name: "book_catalog", schema: "dbo", catalog: "CRM"
grails guide
【讨论】:
【参考方案2】:你见过DataSources 插件吗?我相信它可以满足您的需求 - 允许配置多个数据库并将域对象映射到不同的数据库。
我以为我在论坛上看到了一些关于 1.2 现在无法运行的电子邮件 - 一定要通读论坛以了解其他人可能遇到的问题。
【讨论】:
以上是关于有没有办法在 Grails 中配置对数据库的两个不同模式的访问?的主要内容,如果未能解决你的问题,请参考以下文章