我需要从Grails访问几个不同模式的不同表。用户具有对所有表的访问权限,但是,当我尝试将Domain类映射到表时,我找不到完成它的方法。
我试图以这种方式映射域名:
static mapping = {
table 'SCHEMA2.TABLE'
//Table columns and mapping
...
}
我也可以更改DataSource文件的默认架构,但在这种情况下,我一直只访问两个架构中的一个
hibernate.default_schema = 'schema2'
我们使用别名从schema1中访问schema2中的表,但我认为应该有一种方法可以做到这一点,而不必使用Hibernate定义所有映射(我真的不喜欢XML文件)
答案 0 :(得分:3)
我知道问题是陈旧的,但以防万一:
您可以在域类映射部分执行此操作:
static mapping = {
table name: "book_catalog", schema: "dbo", catalog: "CRM"
}
答案 1 :(得分:1)
您是否看过DataSources插件?我相信它能满足您的需求 - 允许配置多个dbs并将域对象映射到不同的数据库。
我以为我在论坛上看到一些关于1.2现在无法正常工作的电子邮件 - 绝对可以通过论坛阅读,了解其他人可能遇到的问题。