第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

讀取實(shí)體時(shí)更改 DAO/Repository 中的特定值

讀取實(shí)體時(shí)更改 DAO/Repository 中的特定值

繁花不似錦 2023-03-23 13:39:06
我正在從舊的遺留數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。不知何故,他們使用 0 索引放置所有不存在的關(guān)系,例如:Object Person:id: 123name: johnsurname: snowbirthCityId: 0 <-- this means that there is no relationship between city and this person.現(xiàn)在,在 JPA 中,我遇到的問(wèn)題是它正在加載人員實(shí)體,但找不到索引為 0 的相關(guān)城市實(shí)體。我想編寫代碼,當(dāng)我有 ID 為 0 的城市時(shí),城市實(shí)體設(shè)置為空。我怎樣才能做到這一點(diǎn)?我不想在數(shù)據(jù)庫(kù)中創(chuàng)建索引為 0 的新實(shí)體。
查看完整描述

2 回答

?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

您可以使用 Hibernate@NotFound注釋:


@ManyToOne

@NotFound(action=NotFoundAction.IGNORE)

private City birthCity;

https://docs.jboss.org/hibernate/orm/5.3/javadocs/index.html?org/hibernate/annotations/NotFound.html


我沒(méi)有看到其他已發(fā)布的解決方案工作,因?yàn)樵?Hibernate 加載時(shí)會(huì)發(fā)生異常,即在您能夠通過(guò)其他方式處理它之前。


查看完整回答
反對(duì) 回復(fù) 2023-03-23
?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

我假設(shè)你有


Person{

@Many2One @JoinColumn("birthCityId") City birthCity;

...}

最簡(jiǎn)單的解決方案是在 city 中添加 id=0 的表行,其余為空


這給你的班級(jí)


@PostLoad

public viod cityInit(){

   if(birthCity!=null&&birthCity.getId()==0){

      birthCity==null;

   }

}

有更優(yōu)雅的解決方案,但這將使您快速入門


查看完整回答
反對(duì) 回復(fù) 2023-03-23
  • 2 回答
  • 0 關(guān)注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)