Я использую org.springframework.cloud:spring-cloud-gcp-starter-data-datastore
с Kotlin.
Код выглядит следующим образом:
@Entity(name = "books")
data class Book(
@Reference val writer: Writer,
var name: String,
@Id val id: Key? = null, //I leave the key as NULL so it that can be autogenerated
)
@Entity(name = "writers")
data class Writer(
var name: String,
@Id val id: Key? = null
)
//Also with Repositories
Когда я сохраняю сущность Book со ссылкой на сохраненный Writer , когда я его получаю, он должен быть получен автоматически, верно?
Пример кода:
var w = Writer("Shakespeare")
w = writerRepo.save(w)
var book = Book(w, "Macbeth")
book = bookRepo.save(book)
books = bookRepo.findByWriter(w) //Error happen here
Приведенный выше код выдаст ошибку, которая не смогла создать экземпляр Book с NULL Writer. Есть идеи, почему это произошло?