Hibernate session.update / session.delete不起作用

时间:2018-06-16 03:47:48

标签: java hibernate session

代码:

public void test() {
    Session session = sessionFactory.openSession();
    User u = new User();
    u.setUsername("user1");
    session.delete(u);
    session.close();
}

我想知道为什么删除不起作用

2 个答案:

答案 0 :(得分:1)

session.close()

之前尝试
session.flush()

答案 1 :(得分:1)

您正在尝试删除未附加到会话的非托管实体。为了操纵实体,您应该首先将其附加到会话:

User u = (User) session.get(User.class, 1L); 
session.delete(u);

以上是按ID加载的示例,因此如果您被限制为用户名,则必须编写更复杂的查询。