Spring Data JDBC 嵌套相同类型的实体

问题描述 投票:0回答:1

我想使用 Spring Data JDBC 映射导航。 有一个聚合根,其中包含“目录”类型的对象。 例如,目录应该是一个路径和一组有序的子目录。 我如何使用 Spring Data JDBC 实现这一目标?

public class Hierarchy {

    @Id
    private String id;

    private Directory root;
}
public class Directory {

    private String path;

    private Set<Directory> children = new LinkedHashSet<>();

    public Directory(String path) {
        this.path = path;
    }
}
spring-data spring-data-jdbc
1个回答
0
投票

Spring Data JDBC 不直接支持这样的递归结构,但这并不意味着您不能使用它来存储它们。

我会做的是:

  1. 将所有目录存储在

    List
    Hierarchy

  2. 保留对父级

    Directory
    的引用,作为简单的
    int
    引用保存父级
    Directory
    的列表索引。

  3. 在聚合构建期间/之后创建其余代码所需的任何结构。

© www.soinside.com 2019 - 2024. All rights reserved.