【发布时间】:2018-02-11 23:01:04
【问题描述】:
我正在尝试从 RDBMS 导入一堆记录并创建连接节点 在 Neo4j 中使用 Spring Data Neo4j,因为希望定期执行此操作,并通过此操作将 Neo4j 数据库与主 RDBMS 中的数据库同步。
我目前的问题是我需要保持原样的 id 以便我能够链接不同节点类型的后续记录,但是如果我用原始值填充 id 节点是不是在 Neo4j 中创建的。 我拥有的一个示例实体是:
@NodeEntity
data class CarAgent(
@Id
override var id: Long? = null,
var name: String = "",
var country: String = "",
var desc: String = "",
var status: Boolean = false,
var xmlType: String = "",
var company: String) : Entity
导入逻辑在做:
@Suppress("UNCHECKED_CAST")
fun processRow(exchange: Exchange) {
val message = exchange.`in`.body as List<String>
val id = message[0]
val name = message[1]
val country = message[4]
val desc = message[19]
val status = message[20]
val xml = message[25]
val company = message[31]
val carAgent = CarAgent(
id = id.toLong(),
name = name,
country = country,
desc = desc,
status = status.toBoolean(),
xmlType = xml,
company = company)
carAgentDataRepository.save(carAgent)
}
如果我将注释 @GeneratedValue 添加到 Id 字段,它只会保存实体。
【问题讨论】:
标签: spring-data-neo4j neo4j-ogm