Sample search on domain with 2 solution 1 - use JpaSpecificationExecutor 2 - use CriteriaQuery
use JpaSpecificationExecutor for dynamic search on the author and book domain
and use CriteriaQuery on person domain
add validation and dynamic messageing for validation-failed