【问题标题】:Hibernate session.update/session.delete does not work休眠 session.update/session.delete 不起作用
【发布时间】:2018-06-16 21:49:15
【问题描述】:

代码:

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

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

【问题讨论】:

  • 更多代码需要添加
  • tx = session.beginTransaction(); tx.commit();也许失踪了?

标签: java hibernate session


【解决方案1】:

session.close()之前尝试

session.flush()

【讨论】:

    【解决方案2】:

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

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

    上面是这个按 id 加载的示例,所以如果你被限制为用户名,你必须编写一个更复杂的查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-19
      • 1970-01-01
      • 2015-10-28
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      相关资源
      最近更新 更多