Grails 2.5 to Grails 3.2 GORM 6

时间:2018-01-18 16:55:30

标签: hibernate grails gorm

Hibernate的GORM 6.1.8.RELEASE是否需要对域类进行任何更改?

域中的joinTable是否将最近添加的内容映射到GORM

我将我的域类从一个正在运行的Grails 2.5.1项目复制到一个Grails 3.2项目。当我使用"dbCreate: 'validate'"启动骨架应用时,出现以下错误:

  

org.springframework.beans.factory.UnsatisfiedDependencyException:   创建名为'methodValidationPostProcessor'的bean时出错   在类路径资源中   [组织/ springframework的/引导/自动配置/验证/ ValidationAutoConfiguration.class]:   通过方法表达不满意的依赖性   'methodValidationPostProcessor'参数0;嵌套异常是   org.springframework.beans.factory.BeanCreationException:错误   创建名为'hibernateDatastoreServiceRegistry'的bean:不能   设置时解析bean'hibernateDatastore'的引用   构造函数参数;嵌套异常是   org.springframework.beans.factory.BeanCreationException:错误   创建名为'hibernateDatastore'的bean:Bean实例化通过   构造函数失败;嵌套异常是   org.springframework.beans.BeanInstantiationException:失败   instantiate [org.grails.orm.hibernate.HibernateDatastore]:构造函数   抛出异常;嵌套异常是org.hibernate.MappingException:   外键(FK56o1sv2813gshwyyok919a6gp:library_document_attachments   []))必须与引用的主键具有相同数量的列   (library_document [id])

我没有复合键或关联中的任何自定义映射。

class LibraryDocument extends Trackable {

// Attributes
...

// Relationships
Attachment latestVersion
static belongsTo = [...]

SortedSet attachments
static hasMany = [attachments: Attachment]
...
}

项目版本信息:

grailsVersion=3.3.2
gormVersion=6.1.8.RELEASE
gradleWrapperVersion=3.5

1 个答案:

答案 0 :(得分:1)

  

HORMnate的GORM 6.1.8.RELEASE是否需要对域进行任何更改   类?

答案取决于您申请中的许多因素。有许多域类,不需要进行任何更改。

  

域中的joinTable是否映射了GORM的最新添加内容?

没有。我们在大约10年前添加了它,它被包含在1.0中。 https://github.com/grails/grails-core/commit/de590be6452715a119931d26bcc50c6a72e96170