use QueryDSL instead of ugly JAP API