본문 바로가기
JAVA

JPA CRUD 로 조회하기

by 유반짝 2023. 8. 31.

순번 부여가 필요할때 테이블에서 max값 찾기(숫자)

Long badSeq = select().select(qWorkOrderBad.badSeq.max()).distinct()
    .from(qWorkOrderBad)
    .where(qWorkOrderBad.wlotNo.eq(wlotNo).and(qWorkOrderBad.itemCd.eq(badItemCd))).fetchOne();

재고코드를 찾아야할때 쿼리(문자)

String stockCd = select().select(qWorkOrderIncoming.stockCd).distinct()
        .from(qWorkOrderIncoming)
        .where(qWorkOrderIncoming.wlotNo.eq(wlotNo).and(qWorkOrderIncoming.itemCd.eq(badItemCd))).fetchOne();

BooleadnBuilder 를 사용해서 쿼리 작성하는 방법도 있음

    public BigDecimal getWorkOrderBadOne(String wlotNo, String itemCd) {
		BooleanBuilder builder = new BooleanBuilder();
		if (isNotEmpty(wlotNo) && isNotEmpty(itemCd)) {
	       	builder.and(qWorkOrderBad.wlotNo.eq(wlotNo));
	       	builder.and(qWorkOrderBad.wlotNo.eq(itemCd));
	    }		
		return select().select(qWorkOrderBad.badQty.sum().coalesce(new BigDecimal(0))).distinct().from(qWorkOrderBad).where(builder).fetchOne();
    }