在 Neo4j 中设置节点的最后更新时间
Setting last update time on node in Neo4j
我想在每次 属性 发生变化时更新节点中的 lastUpdate
字段。
从 Neo4j 级别或 Spring 数据是否有一些通用的解决方案?
问题是我们的结构和代码已经存在,必须添加这些功能。我们在应用程序 Spring 数据(版本 3.1.1)中使用 Aspects。正如我现在看到的那样,我必须更改:
- 从
GraphRepository
更改 save()
方法的行为
- 从节点
更改方面方法persist()
的行为
不知有没有比这些步骤更简单的方法
您可以使用 TransactionEventHandler
. In your case use the beforeCommit
method, iterate over the the changed properties in that transaction using TransactionData.assignedNodeProperties()
并将给定的 lastUpdate
设置为当前时间戳。
TransactionEventHandler 是一个利器,要非常小心,尽量减少影响。
我想在每次 属性 发生变化时更新节点中的 lastUpdate
字段。
从 Neo4j 级别或 Spring 数据是否有一些通用的解决方案?
问题是我们的结构和代码已经存在,必须添加这些功能。我们在应用程序 Spring 数据(版本 3.1.1)中使用 Aspects。正如我现在看到的那样,我必须更改:
- 从
GraphRepository
更改 - 从节点 更改方面方法
save()
方法的行为
persist()
的行为
不知有没有比这些步骤更简单的方法
您可以使用 TransactionEventHandler
. In your case use the beforeCommit
method, iterate over the the changed properties in that transaction using TransactionData.assignedNodeProperties()
并将给定的 lastUpdate
设置为当前时间戳。
TransactionEventHandler 是一个利器,要非常小心,尽量减少影响。