@Override
 public User getByUserName(String userName) {
   return this.jdbcTemplate.queryForObject(
       queries.getByUserName(userName), new UserRowMapper(UserQueries.TABLE_ALIAS));
 }
 @Override
 public List<User> get(User criteria) {
   return this.jdbcTemplate.query(
       queries.getAll(criteria), new UserRowMapper(UserQueries.TABLE_ALIAS));
 }
 @Override
 public User getByEmail(String email) {
   return this.jdbcTemplate.queryForObject(
       queries.getByEmail(email), new UserRowMapper(UserQueries.TABLE_ALIAS));
 }
 @Override
 public User getByKey(Long key) {
   return this.jdbcTemplate.queryForObject(
       queries.getByKey("USER", key), new UserRowMapper(UserQueries.TABLE_ALIAS));
 }