org.hibernate.PropertyNotFoundException: Could not find a setter for property id in class

beenin 2009-05-14 09:47:17
请高手耐心分析下,小B感激不尽!
以下是异常信息:
org.hibernate.PropertyNotFoundException: Could not find a setter for property id in class com.gdms.domain.Messages
org.hibernate.property.BasicPropertyAccessor.createSetter(BasicPropertyAccessor.java:156)
org.hibernate.property.BasicPropertyAccessor.getSetter(BasicPropertyAccessor.java:150)
org.hibernate.mapping.Property.getSetter(Property.java:245)
org.hibernate.tuple.PojoTuplizer.buildPropertySetter(PojoTuplizer.java:241)
org.hibernate.tuple.AbstractTuplizer.<init>(AbstractTuplizer.java:55)
org.hibernate.tuple.PojoTuplizer.<init>(PojoTuplizer.java:54)
org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:47)
org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:218)
org.hibernate.persister.entity.BasicEntityPersister.<init>(BasicEntityPersister.java:400)
org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:104)
org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:211)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1005)
com.gdms.dao.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:15)
com.gdms.web.struts.action.LoginAction.execute(LoginAction.java:47)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
com.gdms.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:66)

Messages类:
package com.gdms.domain;

import java.util.Random;

//import java.util.Random;


public class Messages implements java.io.Serializable {

// Fields
private static final long serialVersionUID = 1L;

private String id;

private String title;

private String name;

private String mail;

private String content;

private String times;
// 留言时间
private Random r;

/** default constructor */
public Messages() {
}

/** full constructor */
public Messages(String id, String title, String name, String mail,
String times, String content) {
this.id = id;
this.title = title;
this.name = name;
this.mail = mail;
this.times = times;
this.content = content;
}
public String getId() {
return id;
}

public void setId() {
while (true) {
r = new Random();
int x = r.nextInt(9999);
if (x > 1000) {
this.id = "4" + x;
break;
}
}

}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}



public String getMail() {
return mail;
}

public void setMail(String mail) {
this.mail = mail;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getTimes() {
return times;
}

public void setTimes() {
java.util.Calendar cl = java.util.Calendar.getInstance();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
this.times = sdf.format(cl.getTime());
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}



}
以下是Message.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="com.gdms.domain.Messages" table="messages">
<id name="id" type="string" >
<column name="id" length="32" />
<generator class="identity" />
</id>
<property name="title" type="string">
<column name="title" length="50" />
</property>
<property name="name" type="string">
<column name="name" length="20" />
</property>
<property name="mail" type="string">
<column name="mail" length="20" />
</property>
<property name="times" type="string">
<column name="times" length="50" />
</property>
<property name="content" type="string">
<column name="content" length="200" />
</property>

</class>
</hibernate-mapping>
...全文
1561 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
上山浦鱼 2009-05-17
  • 打赏
  • 举报
回复
public void setId() {......}

这 方 法 要 加 个 参 数 吧 ;
像 public void setId(String id){.......}
patronsaint 2009-05-17
  • 打赏
  • 举报
回复
我也遇到同样的问题,请教
vivazhao 2009-05-14
  • 打赏
  • 举报
回复
没有属性id的setter方法,你里面的那个satId是不规范的

67,514

社区成员

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

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