【发布时间】:2018-04-04 19:11:42
【问题描述】:
我在 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 方法实现自定义结果过滤?例如,我有一个所有员工的列表,但我想从响应中排除其中一些。应该为此行为引入哪个类/方法?
【问题讨论】:
标签: java spring-boot jpa crnk