2013-03-06 163 views
3

我遇到了一個奇怪的情況,其中休眠刪除在所有記錄上工作,但不在id = 1上。起初,我使用getCurrentSession來檢索活動休眠會話,但將其更改爲手動打開/關閉刪除的新會話,因爲它不起作用。但現在它仍然不起作用。儘管如此,我正在使用交易。休眠刪除不起作用

@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是我的宋實體的代碼。

+0

你的'宋'實體有一些關係嗎?與級聯? – benzonico 2013-03-06 20:33:24

+0

@benzonico:我的SOng實體代碼在這裏:https://github.com/tkoomzaaskz/lyricsBase/blob/master/src/main/java/com/blogspot/symfonyworld/lyricsbase/model/Song.java 不,我沒有任何關係。 – ducin 2013-03-06 20:36:24

+1

我注意到的一件事是,您默認將ID設置爲'1'。事件雖然我不知道它是否真的是你的問題的根源(但肯定是聞到它的味道)。 – benzonico 2013-03-06 20:38:03

回答

1

我注意到的一件事是,您默認將ID設置爲1。即使我不知道它是否真的是你問題的根源(但肯定是有味道的)。