Sql server HibernateeException:在MS SQL旧版数据库上使用Grails 2.0.2的联接表丢失表错误

Sql server HibernateeException:在MS SQL旧版数据库上使用Grails 2.0.2的联接表丢失表错误,sql-server,gorm,grails-2.0,Sql Server,Gorm,Grails 2.0,我试图在Windows7上使用Grails2.0.1实现多对多关系。我已经用尽了谷歌、这个网站和我的Grails书籍。什么都没用。我正在连接到一个我具有只读权限的MS SQL Server 2005数据库,是的,它是一个旧数据库。两个单独的表中的所有内容都可以正常工作(视图OK&all),但当我尝试添加联接表代码时,出现了一个错误: org.hibernate.hibernate异常:缺少表:dbo.IN_USR_DRAWING_PRIV 该表确实存在,使用IntelliJ的IDEA 10.5数

我试图在Windows7上使用Grails2.0.1实现多对多关系。我已经用尽了谷歌、这个网站和我的Grails书籍。什么都没用。我正在连接到一个我具有只读权限的MS SQL Server 2005数据库,是的,它是一个旧数据库。两个单独的表中的所有内容都可以正常工作(视图OK&all),但当我尝试添加联接表代码时,出现了一个错误:

org.hibernate.hibernate异常:缺少表:dbo.IN_USR_DRAWING_PRIV

该表确实存在,使用IntelliJ的IDEA 10.5数据源视图和MS SQL Server Management Studio,我可以很好地看到它。错误的相关部分如下(如果需要,我可以发送更多…更多):

org.springframework.beans.factory.BeanCreationException:创建名为“transactionManagerPostProcessor”的bean时出错:bean初始化失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“transactionManager”的bean时出错:设置bean属性“sessionFactory”时无法解析对bean“sessionFactory”的引用;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的bean时出错:调用init方法失败;嵌套异常为org.hibernate.HibernateException:缺少表:dbo.
在\u USR\u DRAWING\u PRIV中

以下是两个域类:

class Drawing {
static hasMany = [appusers:Appuser]
String id
String drawingId  //this is in the join table
String drawingName

static transients = ['name']

void setName(String name) {
    id = name
}

String getName() {
    return id
}

static mapping = {
    table name: "IN_DRAWING", schema: "dbo"
    version false
    id column: 'DRAWING_ID', generator:'identity', insertable:false, updateable:false
    drawingId column: "`DRAWING_ID`",insertable:false, updateable:false  //this is in the join table
    drawingName column: "`DRAWING_NAME`"
    appusers column: '`USR_ID`',
            joinTable: 'IN_USR_DRAWING_PRIV'
}
}

}

下面是联接表的模式:

dbo.IN_USR_DRAWER_PRIV
    USR_ID        (PK, varchar(23), not null)
    DRAWING_ID    (PK, FK, varchar(23), not null)
    PRIV_ID       (PK, int, not null)
GRAG报告它有一个包含所有3列的复合键,它与图形ID上的FK一起使用

我尝试过的解决方案:

  • 此代码(由于“缺少表”异常而失败)
  • 为联接表添加域控制器-结果相同

  • 任何提示/线索/解决方案都值得赞赏。

    我通过直接使用Groovy SQL并传入T-SQL解决了这个问题

    dbo.IN_USR_DRAWER_PRIV
        USR_ID        (PK, varchar(23), not null)
        DRAWING_ID    (PK, FK, varchar(23), not null)
        PRIV_ID       (PK, int, not null)