返回类的对象,DAO时的Spring,异常

时间:2016-08-20 22:32:32

标签: java spring hibernate spring-mvc

我是Spring的新人,我正在编写简单的web mvc app(基于在线教程) 我有方法的DAO类:

public Account getUser(String login) {
    List<Account> accountList;
    Query query = openSession().createQuery("from Account u where u.login = :login");
    query.setParameter("login", login);

   return (Account) query.uniqueResult();
}

我在服务中使用它:

public class CustomUserDetailsService implements UserDetailsService {

@Autowired
private UserDAO userDAO;

public UserDetails loadUserByUsername(String login)
        throws UsernameNotFoundException {
//cut
com.project.entity.Account account = userDAO.getUser(login);
     //cut
}

和,在这里:

  return (Account) query.uniqueResult();

我收到例外:

 Caused by: java.lang.ClassCastException: com.elka.entity.Account cannot be cast to com.elka.entity.Account

出了什么问题?我的方法返回了一个我想要的类的对象。

1 个答案:

答案 0 :(得分:0)

尝试,

 public Account getUser(String login) {
        List<Account> accountList;
        Query query = openSession().createQuery("from Account u where u.login = :login").addEntity(Account.class);;
        query.setParameter("login", login);

       return (Account) query.uniqueResult();
    }