Я пишу небольшое приложение, используя micronaut и gorm.Приложение содержит два домена: Книга и Автор.
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
}
}
Приложение компилируется без проблем, но когда я запускаю приложение, я получаю следующую ошибку:
11: 50: 08.697 [main]ОШИБКА io.micronaut.runtime.Micronaut - Ошибка запуска сервера Micronaut: определение компонента org.grails.orm.hibernate.HibernateDatastore] не удалось загрузить: ошибка создания экземпляра компонента типа [org.grails.orm.hibernate.HibernateDatastore]: повторный столбецв сопоставлении для объекта: micronaut.query.association.domain.Book column: authorx_id (должно отображаться с помощью insert = "false" update = "false")
Если в классе Author я изменяю строку "Списокbooks "to" Установить книги ", приложение запускается без проблем.
Кроме того, если я использую Collection вместо List, приложение работает правильно.
Я могу воспроизвести ту же ситуацию, используя grails 3.3.9.