Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 我想禁用在实体@OneToMany中提取_Hibernate_Spring Boot_Jpa_Spring Data Jpa - Fatal编程技术网

Hibernate 我想禁用在实体@OneToMany中提取

Hibernate 我想禁用在实体@OneToMany中提取,hibernate,spring-boot,jpa,spring-data-jpa,Hibernate,Spring Boot,Jpa,Spring Data Jpa,我有一个单向关联 @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) @JoinColumn(name = "candidate_id", nullable=false) private List<Achievement> achievements= new ArrayList<Achievement>(); 我想以一种可以在单独的请求中获取相关数据的方式禁用获取 例如:我不希望hibe

我有一个单向关联

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "candidate_id", nullable=false)
    private List<Achievement> achievements= new ArrayList<Achievement>();
我想以一种可以在单独的请求中获取相关数据的方式禁用获取 例如:我不希望hibernate在每个候选人的查询中返回成绩

您需要使用com.fasterxml.jackson.annotation.jsonignoreporties


如果我在拉取对象时理解正确,您不希望也从数据库中拉取成果吗?如果是这种情况,则应使用:

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "candidate_id", nullable=false)
    private List<Achievement> achievements= new ArrayList<Achievement>();

延迟获取类型不会获取您的一对多关系,因此在这种情况下,如果您获取具有成就的对象,则不会从数据库中获取成就。

我通过创建一个新的DTO layer AcquirementsDTO解决了这一问题,该DTO layer AcquirementsDTO映射了请求的必要数据并将其作为响应发送。

请清除您的问题并给出答案还有一些细节,但我认为它仍然在从数据库中获取数据
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "candidate_id", nullable=false)
    private List<Achievement> achievements= new ArrayList<Achievement>();