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

xiaoxin245 2012-09-24 03:10:03
[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.sex; nested exception is org.hibernate.PropertyAccessException: Exception occurred inside getter of com.shopping.entity.User.sex
Caused by: org.hibernate.PropertyAccessException: Exception occurred inside getter of com.shopping.entity.User.sex
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)
...全文
680 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
喜欢送 2013-04-01
  • 打赏
  • 举报
回复
Exception occurred inside getter of com.shopping.entity.User.sex就这句了。sex的类型,还有age的类型统一下
a657542441 2013-04-01
  • 打赏
  • 举报
回复
public int getSex() { return sex; } public void setSex(Integer sex) { this.sex = sex; } 是这样的 你的sex定义的变量时integer get的时候是int integer是int的封装类,我个人理解integer是int的大哥,所以当getsex 得到是int 小的不装大的 大的能装小的
xiaoxin245 2012-09-24
  • 打赏
  • 举报
回复
我用的spring整合的啊 开了啊 我用debug跟踪 从前台输入数据 然后用户名和密码都能获取到 性别和年龄啥的都获取不到呢
  • 打赏
  • 举报
回复
插入更新都要开事务的。
xiaoxin245 2012-09-24
  • 打赏
  • 举报
回复
/*
* 用户实体类
*/
public class User {
private Integer id; // 用户ID
private String name; // 用户姓名
private String pwd; // 用户密码
private Integer sex; // 用户性别
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 sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
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;
}
}

}
  • 打赏
  • 举报
回复
user的实体配置文件及UserDaoImpl代码发上来
xiaoxin245 2012-09-24
  • 打赏
  • 举报
回复
// 用户注册
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还是不行
小菜鸟的博客 2012-09-24
  • 打赏
  • 举报
回复
at com.shopping.dao.impl.UserDaoImpl.register(UserDaoImpl.java:35) 这行。。。。。。
小菜鸟的博客 2012-09-24
  • 打赏
  • 举报
回复
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) 看这个类中的507行出问题了 User.sex 这个user类中的属性sex 值不对吧 你仔细看
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 GridLayout是一种在Android系统中应用的布局方法,它通过构建二维网格来组织界面组件,为开发者提供了一个便捷且多样的途径来布置用户界面元素。在这个详尽的阐释中,我们将全面研究GridLayout的操作方式、其独有特性以及如何在实际的项目开发中高效地运用它。 GridLayout的关键在于其网格构造。在GridLayout中,每个控件可以占据一个或多个网格单元,这些单元通过行列坐标进行标识。通过设定控件的`android:layout_row`和`android:layout_column`属性,开发者可以明确控件在网格中的位置。比如,`android:layout_row="1"`意味着该控件位于第二行,而`android:layout_column="2"`则表示该控件位于第三列。 另外,GridLayout还支持设置控件能够跨越的网格单元数目,这通过`android:layout_rowSpan`和`android:layout_columnSpan`属性来实现。假如一个控件的`layout_rowSpan="2"`,那么它将覆盖两行的区域,`layout_columnSpan="3"`则会导致其横跨三列。这种高度的适应性使得GridLayout能够满足各种复杂的界面设计需求。 在GridLayout的应用中,控件的大小一般会自动适配以填满整个网格单元。不过,开发者也可以通过`android:layout_width`和`android:layout_height`属性来设定确切的尺寸,或者使用`android:layout_weight`属性来分配剩余的空间...

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧