如何在 Spring Data Neo4j >=v6 中加载实体后对其执行方法

How do I execute a method on an entity after it has been loaded in Spring Data Neo4j >=v6

在 Spring Data Neo4j 5 中,有一个注解 @PostLoad 类似于其他持久性框架。这个注释似乎在版本 6 中消失了(我使用的是 6.1.6)

我想在加载节点后填充一些临时属性。

根据Gerrit的评论,SDN 6+中没有这个功能。 解决方案是在你的 getter 中初始化你的瞬态值。

这是我所做的一个非常简化的版本:

@Node
public class Event {

    @Id @GeneratedValue @Getter
    private Long id;

    @Getter @Setter
    private String title;
    @Transient
    private Integer year;
    @Getter @Setter
    private ZonedDateTime fullDate;

}

public Integer getYear() {
    public Integer getYear() {
        if (year == null && this.fullDate != null) year = this.fullDate.getYear();
        return year;
    }
}

这段代码在语义上可能没有意义,因为真正的代码要复杂得多。所以请不要评论“你不需要为此使用瞬态属性。”