我在 java 项目中使用 crnk (JSON-API),我有 3 个关于它在 spring boot 和 jpa 中的使用的问题——在文档中没有找到确切的实现细节。
例如,我有 2 个实体和各自的表:
@Entity @JsonApiResource(type = "employee") public class Employee { @Id @JsonApiId private int id; private String name; @ManyToOne @JoinColumn(name = "typeId") private EmployeeType employeeType; //stored in table as typeId } @Entity @JsonApiResource(type = "type") public class EmployeeType { @Id @JsonApiId private int id; private String typeName; private int salary; }
应该如何引入 JsonApiRelation 才能调用“/employee/1”和“/employee/1/type”url?
例如,还有一个实体。
@Entity @JsonApiResource(type = "project") public class Project { @Id @JsonApiId private int id; private String supervisorName; private String projectName; }
首先,我想为每个员工列出项目列表,他是主管,按名称联合,并将其列为 Json 中的属性。
尝试使用 @OneToMany 和 @JoinColumn 注释来实现它,但得到了 StackOverflowException。这怎么可能实现。其次,如何使用 Relation 来实现?像“/employee/1/projects”网址。
- 我应该如何为 findAll 方法实现结果的自定义过滤?例如,我有一个所有员工的列表,但我想从响应中排除其中一些。应该为此行为引入哪个类/方法?