我在Spring Boot(2.1.6)应用程序中将Neo4j与Kotlin数据类一起使用。有时我需要直接将关系反序列化到终端节点,有时我需要关系类。问题在于,一旦定义了@RelationshipEntity
,就无法反序列化到终端节点。
这在未定义OWNED_BY
的情况下有效,但是一旦通过@RelationshipEntity
进行定义,它将崩溃为null,而当我将ownedBy
定义为可为null时,它将始终为null。
@NodeEntity
data class NodeA(
@Id @GeneratedValue @JsonIgnore var dbId: Long?,
val id: String,
val name: String,
@Relationship(type = "OWNED_BY", direction = Relationship.OUTGOING)
var ownedBy: NodeB
)
在那种情况下,我只能反序列化到关系类中,例如
@NodeEntity
data class NodeA(
@Id @GeneratedValue @JsonIgnore var dbId: Long?,
val id: String,
val name: String,
@Relationship(type = "OWNED_BY", direction = Relationship.OUTGOING)
var ownedBy: OwnedBy
)
这是使用Neo4jRepository
时的情况。有没有办法选择直接反序列化到终端节点+能够将关系反序列化到自己的类中?