JPA에서 BooleanBuilder 와 BooleanExpression 이란?

- 두 클래스 모두 JPA에서 동적쿼리를 제작할 때 사용한다.
BooleanBuilder는 if문을 각 데이터 조건에 맞게 코드로 작성할 수 있도록 도와주는 역할을 한다.

BooleanExpression 는 메서드를 생성하여 where절 안에서 호출하여 구현할 수 있다. 메서드 안에서 where절로 null이 반환되면 해당 조건이 무시되기 때문에 동적쿼리가 가능하다. (모든 조건이 NULL을 반환하면 전체 엔티티를 불러오는 점을 주의하자) 메서드는 재사용이 가능하고, 메서드들 끼리 재조합도 가능하기 때문에 유지보수나, 재활용에 유리하다.

*동적쿼리 - 실행시점에서, 사용자나 프로그램의 사정에따라 쿼리의 조건이나 구조를 동적으로 결정할때 사용.