小编khc*_*han的帖子

即使设置了FetchType.EAGER,Spring也不会加载数据

我尝试使用两种模型从REST API(宠物和媒体)获取数据。我试图通过FetchType.EAGER批注获取宠物与媒体之间的oneToMany关系,但是在编写MediaRepository时没有出现数据。如果我没有实现该文件,则媒体关系和数据会在响应中返回。

实施MediaRepository.java后,GET / pets返回:

{
  "id": 72,
  "name": "Spot",
  "description": "Annoying as hell",
  "media": [], <-- why is this here only if I don't implement MediaRepository?
  ...
}
Run Code Online (Sandbox Code Playgroud)

如果未实现MediaRepository.java,则GET / pets将返回:

{
  "id": 72,
  "name": "Spot",
  "description": "Annoying as hell",
  ... (No media array in response)
}
Run Code Online (Sandbox Code Playgroud)

宠物

@Entity
public class Pet implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name="name")
    private String name;

    @Column(name="description")
    private String description;

    @OneToMany(cascade=CascadeType.ALL, mappedBy="pet", …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-data-jpa spring-data-rest

4
推荐指数
1
解决办法
1876
查看次数