【发布时间】:2018-07-10 14:49:11
【问题描述】:
我有一个包含列表属性的实体:
@Entity
@Table(name="sales.jobs")
public class Job {
...
private List<Shipment> jobShipments;
...
@OneToMany(cascade=CascadeType.ALL,orphanRemoval=true, fetch=FetchType.LAZY)
@JoinTable(name="sales.jobs_shipments",
joinColumns = @JoinColumn(name="fk_jobid", referencedColumnName="pk_jobid"),
inverseJoinColumns = @JoinColumn(name="fk_shipmentid", referencedColumnName="pk_shipmentid"))
public List<Shipment> getJobShipments() {
return jobShipments;
}
public void setJobShipments(List<Shipment> jobShipments) {
this.jobShipments = jobShipments;
}
...
}
在存储库中,我想要一个查询方法,它返回所有工作,其中jobShipments 是一个空列表。我首先尝试了IsNull 关键字,如下所示,但这不起作用,因为如果没有发货,它是一个空列表而不是 null。
@Repository
public interface JobRepository extends CrudRepository<Job, Integer> {
Page<Job> findByJobShipmentsIsNull(Pageable pageable);
}
我查看了文档中的关键字,希望找到类似 IsEmpty 的内容,但我找不到任何看起来正确的内容。
我正在寻找一个使用关键字而不是写出查询的答案,但我想这将是后备。谢谢!
【问题讨论】:
标签: java collections spring-data-jpa is-empty