出现的问题:
在进行数据库插入操作时一般会用HibernateTemplate中的save(),而该方法传入的参数是静态Object对象,比如在进行页面注册时会通过struts2将新注册的用户信息实例化一个对象,这时候需要在model层中添加有参的构造函数,但是之后在登录系统时一般会用HibernateTemplate的get(),通过反射对象和序列化id为参数来验证是否信息准确,这个时候由于model重写了原来的无参构造函数为有参构造函数,系统会报No default constructor for entity,
原因:
根据hibernate的官方文档描述hibernate在进行数据库操作时需要初始化model层中的对象,由于未找到无参的构造函数才出现的异常。
处理方法:
在model层加入无参的构造方法,比如public T(){ }