hibernate删除不起作用

时间:2013-03-06 20:31:29

标签: hibernate session transactions

我遇到了一种奇怪的情况,其中hibernate delete适用于所有记录但不适用于id = 1。起初,我使用getCurrentSession来检索活动的hibernate会话,但是将其更改为手动打开/关闭新会话以进行删除,因为它无法正常工作。但现在它仍然无效。即便如此,我正在使用交易。

@Override
public void delete(Song song) {
    session = sessionFactory.openSession();
    try {
      Transaction tx = session.beginTransaction();
      session.delete(song);
      tx.commit();
    } catch (HibernateException e) {
      System.out.println("notify!");
    }
    session.close();
}

我有5个测试记录。我可以删除id = {2,3,4,5},但我无法删除id = 1。有什么想法吗?

编辑:this是我的歌曲实体的代码。

1 个答案:

答案 0 :(得分:1)

我注意到的一件事是您默认将ID设置为1。即使我不知道它是否真的是你问题的根源(但确实闻起来像它)。