@Override
 public List<User> listUsers(Integer deptId, Integer year, Integer semester) {
   return dao.list(deptId, year, semester, User.class);
 }
 @Transactional
 public User getUserById(Integer userId) {
   return (User) dao.getById(userId, User.class);
 }
 @Transactional
 public void updateUser(User user) {
   dao.update(user);
 }
 @Transactional
 public List<User> listUsers() {
   return dao.list(User.class);
 }
 @Transactional
 public void removeUser(Integer id) {
   dao.remove(id);
 }
 @Transactional
 public void addUser(User user) {
   dao.add(user);
 }