将//throw new Exception("新增用户时出现异常");注释掉后,运行又出现异常:
        public void addUser(String username, String password, String email,
String nickname) throws Exception {
try {
TbUser u = new TbUser();
TbAccount account = new TbAccount();
u.setUsername(username);
u.setPassword(password);
u.setEmail(email);
u.setNickname(nickname);
u.setRegTime(new Date());

u.setTbAccount(account);
account.setTbUser(u);

userDao.save(u);
//accountDao.save(account);
} catch (Exception e) {
e.printStackTrace();
//throw new Exception("新增用户时出现异常");
}
}

异常:java.lang.ClassCastException: java.lang.Integer cannot be cast to com.ebusiness.
model.TbUser
        at com.ebusiness.dao.hibernate.UserDaoHibernate.save(UserDaoHibernate.ja
va:31)
        at com.ebusiness.service.impl.EBusinessManagerImpl.addUser(EBusinessMana
gerImpl.java:150)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
       。

解决方案 »

  1.   

    问题已解决,现在插入成功实现,也没有任何异常。
    --原来要将UserDaoHibernate中的getHibernateTemplate().save(user);
    改为getHibernateTemplate().saveOrUpdate(user);
    具体原因正在研究中
      

  2.   

    我也遇到了一样的问题,为什么save就不行呢?
      

  3.   

    java.lang.ClassCastException: java.lang.Integer cannot be cast to com.ebusiness. 
    model.TbUser 很明显是类型转换的错误 。 
    整型无法转变成你的 user对象
    1.你user表的主键生成策略是不是自增如果不是自增你需要setid
    2.你在把user set到account之前应该把user保存 之后再set  而你现在的顺序正好恰恰相反。
    希望对你会有帮助。