亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jpa使用manyToOne(opntional=true)踩過(guò)的坑及解決

 更新時(shí)間:2021年10月18日 08:52:11   作者:Alieen Yin  
這篇文章主要介紹了jpa使用manyToOne(opntional=true)踩過(guò)的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

jpa使用manyToOne(opntional=true)踩坑

@ManyToOne用于一對(duì)多的情況

(默認(rèn)情況下是懶加載的,沒(méi)必要去配置哦)如:一個(gè)account可以對(duì)應(yīng)多個(gè)accountPrivilege

@Entity
@Table(name = ACCOUNT_PRIVILEGE)
 
public class AccountPrivilege extends EntityId {
    // 賬號(hào)
    @ManyToOne(optional = false)
    @JoinColumn(name = ACCOUNT_PRIVILEGE_ACCOUNT, nullable = false)
    private Account account;
}

但是加上@ManyToOne(optional=false)出現(xiàn)了一些問(wèn)題。

jpa將數(shù)據(jù)庫(kù)那個(gè)字段默認(rèn)置為0,在查詢(xún)時(shí),數(shù)據(jù)庫(kù)找不到account.id=0的記錄??!

通過(guò)查閱一些資料,發(fā)現(xiàn):

optional屬性是定義該關(guān)聯(lián)類(lèi)是否必須存在,值為false 時(shí),關(guān)聯(lián)類(lèi)雙方都必須存在,如果關(guān)系被維護(hù)端不存在,查詢(xún)的結(jié)果為null。

值為true 時(shí), 關(guān)系被維護(hù)端可以不存在,查詢(xún)的結(jié)果仍然會(huì)返回關(guān)系維護(hù)端,在關(guān)系維護(hù)端中指向關(guān)系被維護(hù)端的屬性為null。optional屬性的默認(rèn)值是true。

optional 屬性實(shí)際上指定關(guān)聯(lián)類(lèi)與被關(guān)聯(lián)類(lèi)的join 查詢(xún)關(guān)系,如optional=false 時(shí)join 查詢(xún)關(guān)系為inner join, optional=true 時(shí)join 查詢(xún)關(guān)系為left join。

在我們不保證該字段關(guān)聯(lián)的記錄一定存在的情況下,使用@ManyToOne或@ManyToOne(optional=true)是比較方便的。

在我把@ManyToOne(optional=false)改為@ManyToOne后,jpa將數(shù)據(jù)庫(kù)那個(gè)字段默認(rèn)置為null。

@manytoone設(shè)置為optional=true不起作用

@manytoone

optional屬性的默認(rèn)值是true。

optional 屬性實(shí)際上指定關(guān)聯(lián)類(lèi)與被關(guān)聯(lián)類(lèi)的join 查詢(xún)關(guān)系,如optional=false 時(shí)join 查詢(xún)關(guān)系為inner join, optional=true 時(shí)join 查詢(xún)關(guān)系為left join。

但是實(shí)際運(yùn)行中,語(yǔ)句一直為innerjoin 設(shè)置為optional=true不起作用

原因

dc.createAlias("org", "org"); 本來(lái)寫(xiě)在User user = UserUtils.getUser(); 下面,如果去掉則是正確的

public Page<Site> find(Page<Site> page, Site siteMain) {
DetachedCriteria dc = siteMainDao.createDetachedCriteria();
// 判斷是否是主站、超級(jí)管理員
User user = UserUtils.getUser();
return siteMainDao.find(page, dc);
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • logback StatusListener的定義方法源碼解讀

    logback StatusListener的定義方法源碼解讀

    這篇文章主要為大家介紹了logback StatusListener的定義方法源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 親手帶你解決Debug Fastjson的安全漏洞

    親手帶你解決Debug Fastjson的安全漏洞

    這篇文章主要介紹了親手帶你解決Debug Fastjson的安全漏洞,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Spring+Quartz配置定時(shí)任務(wù)實(shí)現(xiàn)代碼

    Spring+Quartz配置定時(shí)任務(wù)實(shí)現(xiàn)代碼

    這篇文章主要介紹了Spring+Quartz配置定時(shí)任務(wù)實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot項(xiàng)目 文件上傳臨時(shí)目標(biāo)被刪除異常的處理方案

    SpringBoot項(xiàng)目 文件上傳臨時(shí)目標(biāo)被刪除異常的處理方案

    這篇文章主要介紹了SpringBoot項(xiàng)目 文件上傳臨時(shí)目標(biāo)被刪除異常的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java數(shù)字和字符串拼接原理及案例

    Java數(shù)字和字符串拼接原理及案例

    這篇文章主要介紹了Java數(shù)字和字符串拼接原理及案例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 深入理解JVM垃圾回收算法

    深入理解JVM垃圾回收算法

    我們都知道java語(yǔ)言與C語(yǔ)言最大的區(qū)別就是內(nèi)存自動(dòng)回收,那么JVM是怎么控制內(nèi)存回收的,這篇文章將介紹JVM垃圾回收的幾種算法,從而了解內(nèi)存回收的基本原理
    2021-06-06
  • 超詳細(xì)的Spring Boot入門(mén)筆記(總結(jié))

    超詳細(xì)的Spring Boot入門(mén)筆記(總結(jié))

    本篇文章主要介紹了超詳細(xì)的Spring Boot入門(mén)筆記(總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程

    IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程

    這篇文章主要介紹了IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java中final,finally,finalize?有什么區(qū)別

    Java中final,finally,finalize?有什么區(qū)別

    這篇文章主要給大家分享的是?Java中final,finally,finalize?到底有什么區(qū)別,文章圍繞final,finally,finalize的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,具有一定的參考的價(jià)值,需要的朋友可以參考一下
    2021-11-11
  • Springboot事件和bean生命周期執(zhí)行機(jī)制實(shí)例詳解

    Springboot事件和bean生命周期執(zhí)行機(jī)制實(shí)例詳解

    這篇文章主要介紹了Springboot事件和bean的生命周期執(zhí)行機(jī)制,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03

最新評(píng)論