Scala中Neo4J OGM字段主ID为空

时间:2019-04-09 14:43:20

标签: scala neo4j neo4j-ogm

这是我的节点实体类:

@NodeEntity
class SutStateEntity(
    @Id
    @GeneratedValue
    @Index(unique = true)
    val id: String) {

  def this(sutStateIdentifier: SutStateIdentifier) = this(sutStateIdentifier.hash)
  def this() = this("")
}

我将sutStateIdentifier的唯一哈希值用作我的ID。 当我在事务内存储一个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

我猜想,我必须将字段ID更改为var,但是如果我使用字符串,它仍然无法正常工作。甚至没有java.lang.String。

1 个答案:

答案 0 :(得分:0)

这次分配是错误的。这有效:

@Id
@GeneratedValue
var id: java.lang.Long