我想在每次更改某个属性时更新节点中的lastUpdate
字段。
Neo4j级别或Spring Data是否有一些通用的解决方案?
问题是我们的结构和代码存在并且必须添加这些功能。我们在应用程序Spring Data(版本3.1.1)中使用Aspects。我现在看到它必须改变:
save()
GraphRepository
方法的行为
persist()
的行为
我想知道这些步骤是否有一些更简单的方法。
答案 0 :(得分:1)
您可以使用TransactionEventHandler
。在您的情况下,使用beforeCommit
方法,使用TransactionData.assignedNodeProperties()
迭代该事务中更改的属性,并将给定的lastUpdate
设置为当前时间戳。
TransactionEventHandler是一个敏锐的工具,要非常小心,以保持尽可能小的影响。