引起:org.springframework.orm.hibernate3.HibernateSystemException:这个类的ids必须在调用save()之前手动分配:com.rfid.model.Role;嵌套异常是 org.hibernate.id.IdentifierGenerationException:必须在调用 save() 之前手动分配此类的 id:com.rfid.model.Role
在 org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:676)
在 org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
在 org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
在 org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
在 org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:748)
在 com.wfos.engine.wrapper.domain.impl.WrapperImpl.save(WrapperImpl.java:159)
... 47 更多
原因:org.hibernate.id.IdentifierGenerationException:必须在调用 save() 之前手动分配此类的 id:com.rfid.model.Role
在 org.hibernate.id.Assigned.generate(Assigned.java:53)
在 org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
在 org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
在 org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
在 org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
在 org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
在 org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
在 org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
在 org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:673)
在 org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:751)
在 org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
... 50 更多
警告 [21:14:21] (CommonsLoggingOutput.java:59): - --Erroring: batchId[1] message[java.lang.reflect.UndeclaredThrowableException]
我的课是这样的:
@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;
}
}
原文由 Stackoverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的
@Entity
类有一个String
类型为其@Id
字段,因此它无法为您生成 ID。如果您将其更改为数据库中的自动增量和
Long
在 java 中,并添加@GeneratedValue
注释:它将为您处理递增的 id 生成。