jspページに表示中のデータベースに格納されたテーブルから永続的に行を削除したい。1 回のクリックで行を削除するためのリンクDelete
(行ごと) があります。
私のjspコードは次のとおりです。
<s:iterator value="topperList" >
<tr>
<td><s:property value="uid"/></td>
<td><s:property value="name"/></td>
<td><s:property value="password"/></td>
<td><s:property value="sex" /></td>
<td><s:property value="age" /></td>
<td><s:property value="city" /></td>
<td><s:property value="abuse" /></td>
<td><s:property value="lastlogin" /></td>
<td><s:property value="points" /></td>
<td><s:property value="joined" /></td>
<td><s:property value="email" /></td>
<s:url id="url" action="delete" >
<s:param name="uid"><s:property value="uid" /></s:param>
</s:url>
<td><s:a href="%{url}">Delete</s:a></td>
</tr>
</s:iterator>
アクションクラスの私のコードは次のとおりです。
private Integer uid;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String delete() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Users user = (Users) session.load(Users.class, this.getUid());
if (null != user) {
session.delete(user);
}
session.getTransaction().commit();
return SUCCESS;
}
struts.xml のアクション コード:
<action name="delete" class="com.rambo.action.FindToppers" method="delete" >
<result name="success">buser.jsp</result>
</action>
しかし、私はエラーが発生しています:
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [beans.Users#0]
table に適切な行があることを確認しましたUSERS with uid=56
。しかし、識別子が存在する行がありません。ただし、サーバー エラー ログは取得されません。何が問題なのか指摘できますか。