add querydsl to better support spring data and simplify query ceation