使用hibernate和tapestry JAVA

使用hibernate和tapestry JAVA,java,mysql,sql,hibernate,tapestry,Java,Mysql,Sql,Hibernate,Tapestry,我对Tapestry 5有问题。当我试图从单元格上有操作链接的表中删除用户时,它不会删除该用户,它总是删除表中的最后一个用户。。。这是我的密码: ViewAllUsers.java public class ViewAllUsers { @Inject private Session session; @Property @SessionState private User loginUser; @Property @Persist private User user; public

我对Tapestry 5有问题。当我试图从单元格上有操作链接的表中删除用户时,它不会删除该用户,它总是删除表中的最后一个用户。。。这是我的密码:

ViewAllUsers.java

public class ViewAllUsers {

@Inject
private Session session;

@Property
@SessionState
private User loginUser;

@Property
@Persist
private User user;


public List<User> getAllUsers() {
    return session.createCriteria(User.class).list();
}

@CommitAfter
void onActionFromIzbrisi() {
    session.delete(user);
}
与:


我认为您不能像那样直接在t:context中传递您的用户实例。通用对象实例不能在客户端和服务器之间直接传递。您必须向实例传递某种引用—通常是一个id—您的onActionFromIzbrisi方法可以用来检索实际对象

根据t:context属性表示

链接可选参数的上下文。这个值列表 将转换为字符串并包含在URI中


该文档页面还显示了一个如何传递对象的示例。

感谢它的有效性,我现在将使用解决方案编辑我的帖子。我编辑了我的主题,感谢Santibilors的快速回复,一切正常。
  <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
        xmlns:p="tapestry:parameter">
    <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta content="width=device-width, initial-scale=1.0" name="viewport" />
    <title></title>
    </head>
    <body>
        <t:Alerts />
        <t:Grid t:source="allusers" t:add="Izbrisi,Edit" t:row="user">
            <p:izbrisiCell>
                <t:actionlink  t:id="izbrisi" t:context="user">Delete</t:actionlink>
            </p:izbrisiCell>
            <p:editCell>
                <t:PageLink t:page="EditUser" t:id="edit" t:context="user"> Edit </t:PageLink>
            </p:editCell>

            <p:deleteOptionCell>
            </p:deleteOptionCell>
        </t:Grid>

    </body>
    </html>
    @CommitAfter
void onActionFromIzbrisi() {
    session.delete(user);
}
    @CommitAfter
void onActionFromIzbrisi(User user) {
    session.delete(user);
}