我使用GraphAware Neo4j UUID插件。如果我用这个创建实体:
Entity createdEntity = repository.save(entity);
然后createdEntity.uuid
属性将始终为null
;但是我看到db中设置了uuid
属性。
此外,如果我将使用以下内容重新加载实体:
Entity foundEntity = repository.findOne(id);
该属性将再次为null
。
似乎实体是由Spring缓存的,因为如果我将重新启动Spring应用程序,我将能够使用uuid
加载实体和repository.findOne(id)
。
我需要在创建实体后立即知道uuid
。我怎样才能做到这一点?
答案 0 :(得分:3)
实体属性在当前会话中缓存(相信您使用的是SDN 4.2.x?),因此您需要在新会话中重新加载。对于在事件处理程序中进行的修改尤其如此,在这些修改中,在执行单独调用之前不会反映其中所做的更改。