我正在使用micronaut和gorm编写一个小型APP。该APP包含两个域,即Book和Author。
package micronaut.query.association.domain
import com.fasterxml.jackson.annotation.JsonManagedReference
import org.grails.datastore.gorm.GormEntity
@grails.gorm.annotation.Entity
class Author implements GormEntity<Author> {
String name
@JsonManagedReference
List<Book> books
static mapping = {
books fetch: 'join'
}
}
package micronaut.query.association.domain
import com.fasterxml.jackson.annotation.JsonBackReference
import org.grails.datastore.gorm.GormEntity
@grails.gorm.annotation.Entity
class Book implements GormEntity<Book> {
String name
@JsonBackReference
Author authorx
}
}
APP编译没有问题,但是当我运行APP时,出现以下错误:
11:50:08.697 [main]错误io.micronaut.runtime.Micronaut-启动Micronaut服务器时出错:无法加载Bean定义org.grails.orm.hibernate.HibernateDatastore]:实例化类型为[org。 grails.orm.hibernate.HibernateDatastore]:实体映射中的重复列:micronaut.query.association.domain.Book列:authorx_id(应与insert =“ false” update =“ false”映射)
如果在“作者”类中将“列表书”行更改为“设置书”,则APP会正常运行。
此外,如果我使用Collection而不是List,则APP会正确运行。
我可以使用grails 3.3.9重现同样的情况。