Spring Data JPA 自動(dòng)更新數(shù)據(jù)

描述:實(shí)體對(duì)象屬于托管狀態(tài)下時(shí)蔑歌,往這個(gè)對(duì)象里面的某個(gè)屬性 set 新的值伦吠,這個(gè)新的值會(huì)被更新到數(shù)據(jù)表中去贮预。

使用 EntityManager.contains(entity) 方法可以得知某個(gè)實(shí)體對(duì)象是否處于托管狀態(tài)滑频,也就是說(shuō)是否處于 persistence context 中银伟。
使用 EntityManager.clear() 方法可以將處于 persistence context 范圍中的托管對(duì)象變?yōu)橛坞x對(duì)象彤避,這時(shí)重置屬性值不會(huì)更新到數(shù)據(jù)表中去。

persistence context 有兩種類型蒿褂。一種稱為 transaction-scope persistence context,在這種狀態(tài)下 persistence context 是與事務(wù)相關(guān)的块茁,也就是說(shuō)在事務(wù)范圍內(nèi)托管對(duì)象所有的更改都會(huì)被更新到數(shù)據(jù)表中去永淌,當(dāng)事務(wù)提交后遂蛀,這個(gè) persistence context 也就銷毀了螃宙,之后的更改不會(huì)被更新到數(shù)據(jù)表中去。

另一種稱為 extended persistence context堂湖,在這種狀態(tài)下 persistence context 并不會(huì)因事務(wù)提交而銷毀伺糠,而是可以跨事務(wù)的,具體的銷毀與客戶端請(qǐng)求有關(guān),一般用于 Stateful Session Bean 中琉朽。

一般使用的 persistence context 都是默認(rèn)的 transaction-scoped,extended 的很少用到。

在 transaction-scoped 環(huán)境中螟够,受托管的實(shí)體對(duì)象并在事務(wù)環(huán)境中,這時(shí)重置屬性值會(huì)更新到數(shù)據(jù)表中去。如果實(shí)體對(duì)象為游離對(duì)象,也就是說(shuō)已經(jīng)從 persistence context 游離出來(lái)了,這時(shí)重置屬性值不會(huì)更新到數(shù)據(jù)表中去篷就,如果需要將游離對(duì)象重置的值更新到數(shù)據(jù)表中去永品,需要使用 EntityManager#merge(entity) 方法钾麸,將該游離對(duì)象納入當(dāng)前 persistence context 的管轄之中重新成為托管對(duì)象炕桨。

@PersistenceContext private EntityManager entityManager;

...{
---省略代碼---
ScorePoint scorePoint = scorePointSecDao.findScorePointById(groupId,scorePointId);
if(entityManager.contains(scorePoint)){
logger.info("實(shí)體對(duì)象屬于托管狀態(tài)下時(shí)饭尝,往這個(gè)對(duì)象里面的某個(gè)屬性 set 新的值,這個(gè)新的值會(huì)被更新到數(shù)據(jù)表中去献宫。"

  • "使用 EntityManager#contains(entity) 方法可以得知某個(gè)實(shí)體對(duì)象是否處于托管狀態(tài)钥平,也就是說(shuō)是否處于 persistence context 中");
    entityManager.clear();
    logger.info("entityManager.clear()方法被調(diào)用,已經(jīng)被清理");
    }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姊途,一起剝皮案震驚了整個(gè)濱河市涉瘾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捷兰,老刑警劉巖立叛,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異贡茅,居然都是意外死亡秘蛇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門顶考,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赁还,“玉大人,你說(shuō)我怎么就攤上這事驹沿』嘟剑” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵甚负,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我审残,道長(zhǎng)梭域,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任搅轿,我火速辦了婚禮病涨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘璧坟。我一直安慰自己既穆,他們只是感情好赎懦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著幻工,像睡著了一般励两。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上囊颅,一...
    開(kāi)封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天当悔,我揣著相機(jī)與錄音,去河邊找鬼踢代。 笑死盲憎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胳挎。 我是一名探鬼主播饼疙,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼慕爬!你這毒婦竟也來(lái)了窑眯?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤澡罚,失蹤者是張志新(化名)和其女友劉穎伸但,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體留搔,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡更胖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了隔显。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片却妨。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖括眠,靈堂內(nèi)的尸體忽然破棺而出彪标,到底是詐尸還是另有隱情,我是刑警寧澤掷豺,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布捞烟,位于F島的核電站,受9級(jí)特大地震影響当船,放射性物質(zhì)發(fā)生泄漏题画。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一德频、第九天 我趴在偏房一處隱蔽的房頂上張望苍息。 院中可真熱鬧,春花似錦、人聲如沸竞思。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盖喷。三九已至爆办,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間传蹈,已是汗流浹背押逼。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惦界,地道東北人挑格。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沾歪,于是被迫代替她去往敵國(guó)和親漂彤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容