Я создаю приложение с помощью Spring Data Neo4j и Kotlin.Я использую стандартный способ kotlin для объявления сущностей (класс с основным конструктором).Все работало нормально, пока я не захотел создать простые, обязательные отношения между моими сущностями.Когда я звоню .findAll()
в моем хранилище, я получаю Parameter specified as non-null is null: method ...model.Campaign.<init>, parameter client
.
Я пытался вызвать .findAll(depth = 1)
для загрузки связанных сущностей в мою сущность, но это не помогло.
@NodeEntity
class User(var name: String)
{
@Id @GeneratedValue
var id: Long? = null
}
@NodeEntity
class Campaign(
var name: String,
@Relationship(type = "CLIENT", direction = Relationship.OUTGOING)
var client: User)
{
@Id @GeneratedValue
var id: Long? = null
}
interface CampaignRepository : Neo4jRepository<Campaign, Long>
//...
campaignRepository.save(Campaign("C1", user))
campaignRespository.findAll()
Конечно, я могу просто объявить var client: User?
как обнуляемый и всеЭто хорошо.Но, поскольку в моей модели у меня будут как обязательные, так и необязательные отношения, я хочу знать, есть ли способ преодолеть это.