cb.equal(root.get("createdBy").get("id"), id));
Page entityPage = taskRepository.findAll(spec);
-----------------------------------------------------
private Specification isNotDeleted() {
return (root, query, cb) -> cb.isFalse(root.get("isDeleted"));
}">
cb.equal(root.get("createdBy").get("id"), id));
Page entityPage = taskRepository.findAll(spec);
-----------------------------------------------------
private Specification isNotDeleted() {
return (root, query, cb) -> cb.isFalse(root.get("isDeleted"));
}">
cb.equal(root.get("createdBy").get("id"), id));
Page entityPage = taskRepository.findAll(spec);
-----------------------------------------------------
private Specification isNotDeleted() {
return (root, query, cb) -> cb.isFalse(root.get("isDeleted"));
}">
Specification<TasksEntity> spec = Specification.allOf(isNotDeleted());
spec = spec.and((root, query, cb) -> cb.equal(root.get("visibility"), Visibility.PUBLIC));
spec = spec.and((root, query, cb) -> cb.equal(root.get("createdBy").get("id"), id));
Page<TasksEntity> entityPage = taskRepository.findAll(spec);
-----------------------------------------------------
private Specification<TasksEntity> isNotDeleted() {
return (root, query, cb) -> cb.isFalse(root.get("isDeleted"));
}
- Specification : WHERE 조건을 동적 쿼리 생성
- private Specification<TasksEntity> isNotDeleted() : 공통 조건 검색 정의
- SELECT * FROM tasks WHERE isDeleted = false; 가 기본으로 깔리게 함
- root : Entity 필드 접근 객체
- query : SELECT, GROUP BY, ORDER BY 등을 설정하는 객체
- spec.and() : 기존 조건에 AND를 추가하는 역할
- cb.XX → SQL로 변환 시 의미
- 사용 환경 조건
- 사용 금지 조건