我使用的是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。
拜托,你能告诉我怎么做吗?
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!