그래서 밑에와 같은 dsl을 입력했지만 쿼리를 돌려보자 아무것도 나오지 않았다.
public List<SpiJob> searchSpiJob(SpiJobParam param){
return queryFactory
.selectFrom(spiJob)
.innerJoin(spiMachineLM)
.on(spiMachineLM.assetSeqno.eq(spiJob.asstSeqNo))
.where( alwaysTrue()
###################### 이 문제의 핵심코드#####################
.and(spiJob.spiVirtualJob.isNull())
.and(spiJob.spiMachineLM.isNotNull())
############################################################
.and( spiJob.deleted.eq(false) )
.and( betweenEndDateTime(param.getStartDay() , param.getEndDay()) )
.and( likeJobName(param.getJobName()) )
.and( likeMachineName(param.getMachineName()) )
.and( likeLastModifier(param.getLastModifier()) )
)
.fetch();
}
하지만 밑에와 같이 입력시 원하는 답을 찾음
public List<SpiJob> searchSpiJob(SpiJobParam param){
return queryFactory
.selectFrom(spiJob)
.innerJoin(spiMachineLM)
.on(spiMachineLM.assetSeqno.eq(spiJob.asstSeqNo))
.where( alwaysTrue()
.and( spiJob.deleted.eq(false) )
.and( betweenEndDateTime(param.getStartDay() , param.getEndDay()) )
.and( likeJobName(param.getJobName()) )
.and( likeMachineName(param.getMachineName()) )
.and( likeLastModifier(param.getLastModifier()) )
)
.fetch();
}