日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jpa 删除是否成功_JPA / Hibernate删除实体有时不起作用

發(fā)布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jpa 删除是否成功_JPA / Hibernate删除实体有时不起作用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我有以下通常正常工作的代碼:

public void delete(T object)

{

EntityManager em = getPersistence().createEntityManager();

EntityTransaction et = em.getTransaction();

try

{

et.begin();

object = em.find(object.getClass(), object.getId());

em.remove(object);

em.flush();

et.commit();

}

catch(Exception e)

{

error("Unable to delete " + object.toString() + ": there are references to it.");

}

finally

{

if (et.isActive()) et.rollback();

em.close();

}

}

對于我的許多實體類來說,這都是可行的。但是對于其中的兩個它什么也不做,它不會引發(fā)任何異常,也不會刪除該對象。來自hibernate的日志顯示,hibernate執(zhí)行了許多選擇查詢,但它甚至沒有嘗試執(zhí)行刪除。

我已經(jīng)在這里和這里嘗試了在其他類似問題中發(fā)現(xiàn)的建議,但是沒有用(嗯,后者建議@Transactional我不能使用,但是我只是在begin()和之間加上了語句commit())。

我似乎找不到這兩個類比其他類更多(或更少)的東西。他們使用@PrimaryKeyJoinColumn,就像幾乎所有其他實體我有,他們有@OneToMany和@ManyToOne一樣ohters。老實說,他們確實有一個@OneToOne(optional

= false)引用另一個類的字段,而其他實體則沒有,但是除非您告訴我可能有原因,否則我不會經(jīng)歷更改它的麻煩(并因此更改了數(shù)據(jù)庫模式)。為了它。

是@OneToOne責(zé)任?還是我的刪除代碼有問題?

總結(jié)

以上是生活随笔為你收集整理的jpa 删除是否成功_JPA / Hibernate删除实体有时不起作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。