Sql server HibernateeException:在MS SQL旧版数据库上使用Grails 2.0.2的联接表丢失表错误
我试图在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.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数
在\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)