spring数据jpa——基于过滤器的相关实体检索

hzbexzde  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(251)

我使用的是spring数据jpa,两个实体之间有一个one关系。我使用示例进行查询,但我需要添加一些过滤条件,以便仅在完成时检索相关实体(状态值要检查)。
以下是我的简化代码:

public class MasterEntity {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_SEQ")
private Long id;

private Long fieldOne;

private String someAttribute;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "related_entity_id", referencedColumnName = "id")
private RelatedEntity relatedEntity;
}

我的相关实体:

public class RelatedEntity {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_SEQ_2")
private Long id;

private String someAttribute;

private Integer status;

@OneToOne(mappedBy = "relatedEntity")
private RelatedEntity relatedEntity;
}

我的查询由服务执行,如下所示:

@Override
    public List<MasterEntity > getList(@NonNull fieldOne, @NonNull SomeFilterDto request) {
        MasterEntity entity = mapper.map(request);

        Example<MasterEntity> example = Example.of(entity);
        List<MasterEntity> result = myRepository.findAll(example)
                .stream()
                .collect(Collectors.toList());

        return result;
    }

我需要的是返回基于somefilterdo中的过滤器的主实体列表,这是确定的。我想添加的是,仅当relatedentity.status=some值时才返回相关的relatedentity,否则返回null。
拜托,你能告诉我怎么做吗?
提前谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题