日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

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

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

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();

}

}

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

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

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

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

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

總結(jié)

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

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