Использование JPA + H2 с Spring Boot + Kotlin – Загрузка с ошибкой

У меня очень простой пример Spring Boot + Kotlin. Я добавил все основные зависимости:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk8</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test</artifactId> <version>${kotlin.version}</version> <scope>test</scope> </dependency> 

Я аннотировал два модельных класса с аннотациями JPA:

 @Entity class Author( @Id @GeneratedValue(strategy = GenerationType.AUTO) val id: Long, val firstName: String, val lastName: String, @ManyToMany(mappedBy = "authors") val books: Set<Book> = emptySet() ) 

а также

 @Entity class Book( @Id @GeneratedValue(strategy = GenerationType.AUTO) val id: Long, @ManyToMany @JoinTable( name = "author_book", joinColumns = [JoinColumn(name = "book_id")], inverseJoinColumns = [(JoinColumn(name = "author_id"))]) val author: Set<Author> = emptySet(), val title: String, val label: String, val publisher: String ) 

У меня есть основная основная:

 @SpringBootApplication open class Spring5webappApplication { companion object { @JvmStatic fun main(args: Array<String>) { SpringApplication.run(Spring5webappApplication::class.java, *args) } } } 

Но когда я загружаюсь, я получаю бит стек ошибок.

Не могли бы вы рассказать мне об этом? Я искал ошибки, но ответы слишком несвязаны. Благодарю.

У вас есть опечатка в коде. Атрибут в книге называется автором, а не авторами.

Так что это правильный код.

 val authors: Set<Author> = emptySet(), 

Всегда смотрите на последнее исключение в stacktrace

 Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: guru.springframework.spring5webapp.model.Book.authors in guru.springframework.spring5webapp.model.Author.books