title: Hibernate error: ids for this class must be manually assigned before calling save():
body: <pre>
  Caused by: org.springframework.orm.hibernate3.HibernateSystemException: ids for this class must be manually assigned before calling save(): com.rfid.model.Role; nested exception is org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.rfid.model.Role
      at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:676)
      at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
      at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
      at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
      at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:748)
      at com.wfos.engine.wrapper.domain.impl.WrapperImpl.save(WrapperImpl.java:159)
      ... 47 more
      Caused by: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.rfid.model.Role
      at org.hibernate.id.Assigned.generate(Assigned.java:53)
      at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
      at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
      at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
      at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
      at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:673)
      at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:751)
      at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
      ... 50 more
      WARN [21:14:21] (CommonsLoggingOutput.java:59): - --Erroring: batchId[1] message[java.lang.reflect.UndeclaredThrowableException]
  </pre>
  
  <p>My class is like this:</p>
  
  <pre><code>@Entity
  @javax.persistence.Table(name="Role")
  @Table(appliesTo = "Role")
  public class Role {
  
  @Id  
  @Column(name="U_id")
  public String U_id;
  
  public String U_pwd;
  
  public String U_account;
  
  public String U_mode;
  
  public String U_status;
  
  
  public String getU_pwd() {
      return U_pwd;
  }
  
  public void setU_pwd(String u_pwd) {
      U_pwd = u_pwd;
  }
  
  public String getU_account() {
      return U_account;
  }
  
  public void setU_account(String u_account) {
      U_account = u_account;
  }
  
  public String getU_id() {
      return U_id;
  }
  
  public void setU_id(String u_id) {
      U_id = u_id;
  }
  
  public String getU_mode() {
      return U_mode;
  }
  
  public void setU_mode(String u_mode) {
      U_mode = u_mode;
  }
  
  public String getU_status() {
      return U_status;
  }
  
  public void setU_status(String u_status) {
      U_status = u_status;
  }
  
  }
  </code></pre>