Это мой класс сущности узла:
@NodeEntity
class SutStateEntity(
@Id
@GeneratedValue
@Index(unique = true)
val id: String) {
def this(sutStateIdentifier: SutStateIdentifier) = this(sutStateIdentifier.hash)
def this() = this("")
}
Я использую уникальное хеш-значение sutStateIdentifier в качестве своего идентификатора.
Когда я сохраняю SutStateEntity внутри транзакции:
val sutStateEntity = new SutStateEntity(sutStateIdentifier)
session.save(sutStateEntity)
Я получаю следующее исключение:
Exception in thread "main" org.neo4j.ogm.exception.core.MappingException: `Field with primary id is null for entity ....SutStateEntity@34aa8b61`
Я прочитал, что эта ошибка возникает, если я не указал конструктор по умолчанию, который я сделал.
редактирование:
Работает следующий пример:
@Id
@GeneratedValue
var id: java.lang.Long = 0L
Полагаю, мне нужно изменить идентификатор поля на var, но он все равно не работает, если я использую строку. Даже с java.lang.String.