我希望为每个继承的节点类提供以下类型的基类。
@NodeEntity
public abstract class NodeEntityBase {
// id is not used with advanced mapping spring-data-neo4j.
@GraphId
protected Long id;
@Indexed(unique = true)
@NotNull
protected String appId;
...
但是如果我实现它,Spring-data-neo4j将为每个节点创建NodeEntityBase标签。我并没有真正使用这个标签,我担心这是否会在以后出现性能问题(或其他一些问题)。我知道标签索引中的条目限制为2亿(int max),这可能会成为一个问题,因此我想解决这个问题。
是否有良好的解决方法或设计来实现这一目标?我非常希望有基类(es),我可以在其中放置几乎每个节点都继承的属性(如创建时间戳等)。我知道我可以使用接口(如果接口也被标记,我还没有测试过),但我更乐意不需要将setter / getter放到每个继承的类中。
当有数百万个节点时会有性能下降吗?我再说一遍,我不会将这个标签用于查询。 20亿的限制可能足够大,所以我可以忘记这一点。
答案 0 :(得分:0)
您可以尝试仅将@NodeEntity放在具体类上。
或者使用仅写入单个标签的TypeRepresentationStrategy的实现
像这样