以下のクエリを休止状態に変換する必要があります-
select * from ep_batch eb
INNER JOIN ep_slide slide ON eb.batch_scanner_id = slide.slide_batch_id
WHERE eb.batch_scanner_id = 1 AND
eb.batch_status =
(
IF((SELECT count(batch_id) as cnt from ep_batch WHERE batch_scanner_id = 1) =1,'Ready','In Progress')
) ;
「Slide」と「Batch」の pojo は ep_slide と ep_batch resp を表しています。結合注釈付き -
@OneToMany(mappedBy = "batch")
private Set<Slide> slides;
@ManyToOne
@JoinColumn(name = "batchId")
private Batch batch;
条件付きのサブクエリを追加する方法がよくわかりません。私は以下のようなことを試みています -
DetachedCriteria subCriteria = DetachedCriteria.forClass(Slide.class);
subCriteria.setProjection(Projections.count("batchId"));