我有一个实体,其中包含一个属性,该属性是一个列表:
@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
的内容,但我没有找到看起来正确的内容。我正在寻找一个使用关键字而不是编写查询的答案,但我想那可能是备选方案。谢谢!