public List findList(RequestModel model) {
return this.findList(() -> dsl()
.select()
.from(meetingInformation)
.where(initConditionUsingEntity(model, (c, r, e) -> {
Condition condition = c;
if (Objects.nonNull(model.getDName())) {
condition = condition.and(meetingInformation.D_NAME.like(concat("%", e.getDName(), "%")));
}
if (Objects.nonNull(model.getTopic())) {
condition = condition.and(meetingInformation.TOPIC.like(concat("%", e.getTopic(), "%")));
}
if (Objects.nonNull(model.getStartTime())) {
condition = condition.and(meetingInformation.D_TIME.ge(model.getStartTime()));
}
if (Objects.nonNull(model.getCompletedTime())) {
condition = condition.and(meetingInformation.D_TIME.le(model.getCompletedTime()));
}
return condition;
}, EJLambda.predicateTrue(), field -> field.getName().matches("(d_name|topic)")))
.orderBy(meetingInformation.D_TIME.desc().nullsLast())
.fetch().into(entityClass()), depthTree());
}