当前位置:编程学习 > JAVA >>

org.hibernate.PropertyAccessException 各种报错 头大了求解

[2012-09-24 14:58:48,437  INFO com.opensymphony.xwork2.validator.ActionValidatorManagerFactory,29 ] Detected AnnotationActionValidatorManager, initializing it...
org.springframework.orm.hibernate3.HibernateSystemException: Exception occurred inside getter of com.shopping.entity.User.易做图; nested exception is org.hibernate.PropertyAccessException: Exception occurred inside getter of com.shopping.entity.User.易做图
Caused by: org.hibernate.PropertyAccessException: Exception occurred inside getter of com.shopping.entity.User.易做图
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:148)
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.getForInsert(BasicPropertyAccessor.java:182)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.getPropertyValuesToInsert(AbstractEntityTuplizer.java:271)
at org.hibernate.tuple.entity.PojoEntityTuplizer.getPropertyValuesToInsert(PojoEntityTuplizer.java:218)
at org.hibernate.persister.entity.AbstractEntityPersister.getPropertyValuesToInsert(AbstractEntityPersister.java:3666)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:267)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:689)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:686)
at com.shopping.dao.impl.UserDaoImpl.register(UserDaoImpl.java:35)
at com.shopping.biz.impl.UserBizImpl.register(UserBizImpl.java:15)
at com.shopping.action.UserAction.register(UserAction.java:45)
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) --------------------编程问答-------------------- at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)  看这个类中的507行出问题了  User.易做图 这个user类中的属性易做图 值不对吧  你仔细看 --------------------编程问答-------------------- at com.shopping.dao.impl.UserDaoImpl.register(UserDaoImpl.java:35) 这行。。。。。。 --------------------编程问答-------------------- // 用户注册
public int register(User user) {
try {
// 创建添加用户用的HQL语句
getHibernateTemplate().saveOrUpdate(user);
return 1;
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return 0;
}

UserDaoImpl.java:35。。。 这个实现类 之前用的save方法保存了一个USER对象不行 我又改成saveOrUpdate还是不行 --------------------编程问答-------------------- user的实体配置文件及UserDaoImpl代码发上来 --------------------编程问答-------------------- /*
 * 用户实体类
*/
public class User {
private Integer id; // 用户ID
private String name; // 用户姓名
private String pwd; // 用户密码
private Integer 易做图; // 用户性别
private Integer age; // 用户年龄
private String addres; // 用户住址
private String tel; // 用户电话
private Integer UserStatus; // 用户状态
private Date CreateDate;// 创建时间 





public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public int getSex() {
return 易做图;
}
public void setSex(Integer 易做图) {
this.易做图 = 易做图;
}
public int getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddres() {
return addres;
}
public void setAddres(String addres) {
this.addres = addres;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public int getUserStatus() {
return UserStatus;
}
public void setUserStatus(Integer userStatus) {
UserStatus = userStatus;
}
public Date getCreateDate() {
return CreateDate;
}
public void setCreateDate(Date createDate) {
CreateDate = createDate;
}

}





public class UserDaoImpl extends HibernateDaoSupport implements IUserDao {

// 用户登陆
public User landing(String name, String pwd) {
// 创建HQL语句
try {
String hql="from User u where u.name = ? and u.pwd = ?";
List<User>list = getHibernateTemplate().find(hql,new Object[]{name,pwd});
if(list.size()!=0){
return list.get(0);
}else{
return null;
}
} catch (DataAccessException e) {
e.printStackTrace();
return null;

}
}

// 用户注册
public int register(User user) {
try {
// 创建添加用户用的HQL语句
getHibernateTemplate().saveOrUpdate(user);
return 1;
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return 0;
}
}

}
--------------------编程问答-------------------- 插入更新都要开事务的。 --------------------编程问答-------------------- 我用的spring整合的啊 开了啊  我用debug跟踪 从前台输入数据 然后用户名和密码都能获取到 性别和年龄啥的都获取不到呢 --------------------编程问答-------------------- public int getSex() {
return 易做图;
}
public void setSex(Integer 易做图) {
this.易做图 = 易做图;
}

是这样的  你的易做图定义的变量时integer   get的时候是int   integer是int的封装类,我个人理解integer是int的大哥,所以当get易做图 得到是int  小的不装大的  大的能装小的 --------------------编程问答-------------------- Exception occurred inside getter of com.shopping.entity.User.易做图就这句了。易做图的类型,还有age的类型统一下
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,