在Neo4j中设置节点上的最后更新时间

时间:2015-07-22 10:09:37

标签: neo4j spring-data-neo4j

我想在每次更改某个属性时更新节点中的lastUpdate字段。

Neo4j级别或Spring Data是否有一些通用的解决方案?

问题是我们的结构和代码存在并且必须添加这些功能。我们在应用程序Spring Data(版本3.1.1)中使用Aspects。我现在看到它必须改变:

  • save()
  • 更改GraphRepository方法的行为
  • 从节点
  • 更改Aspect方法persist()的行为

我想知道这些步骤是否有一些更简单的方法。

1 个答案:

答案 0 :(得分:1)

您可以使用TransactionEventHandler。在您的情况下,使用beforeCommit方法,使用TransactionData.assignedNodeProperties()迭代该事务中更改的属性,并将给定的lastUpdate设置为当前时间戳。

TransactionEventHandler是一个敏锐的工具,要非常小心,以保持尽可能小的影响。