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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我不明白為什么 Hibernate 創(chuàng)建一個帶有兩個連接的查詢

我不明白為什么 Hibernate 創(chuàng)建一個帶有兩個連接的查詢

郎朗坤 2023-09-27 16:48:23
我有兩個具有多對多關(guān)系的實體。@Entity@Table(name = "KATEGORIA_CENOWA_WODA_SCIEKI")public class KategoriaCenowaWodaScieki extends BaseEntity {   private static final long serialVersionUID = -113600254855102844L;  @EqualsAndHashCode.Exclude  @ManyToMany(mappedBy = "kategoriaCenowaList")  private Set<KatalogSubstancjiWodaScieki> katalogSubstancjiList = new HashSet<>();和@Entity@Table(name = "KATALOG_SUBSTANCJI_WODA_SCIEKI")public class KatalogSubstancjiWodaScieki extends BaseEntity {  private Integer kodSubstancji;  @Column(nullable = false)   private String nazwaSubstancji;  @EqualsAndHashCode.Exclude  @ManyToMany  @JoinTable(name = "KATALOG_SUBSTANCJI_WODA_SCIEKI_KATEGORIA_CENOWA_WODA_SCIEKI",    joinColumns = {      @JoinColumn(name = "KATALOG_SUBSTANCJI_ID")},    inverseJoinColumns = {      @JoinColumn(name = "KATEGORIA_CENOWA_ID")})  private Set<KategoriaCenowaWodaScieki> kategoriaCenowaList = new HashSet<>();我創(chuàng)建了一個帶有一個連接的查詢@Query("select s.kategoriaCenowaList from KatalogSubstancjiWodaScieki s " +        "inner join s.kategoriaCenowaList c " +        " where s = :katalogSubstancji " ) Optional<KategoriaCenowaWodaScieki> findByKatalogSubstancjiAndOkresObowiazywaniaAndKatalogRZGW(        KatalogSubstancjiWodaScieki katalogSubstancji);我不明白為什么生成的 SQL 包含兩個物理連接。也許有人可以解釋一下?select    kategoriac4_.ID as ID1_46_,    kategoriac4_.CREATED as CREATED2_46_,    kategoriac4_.UPDATED as UPDATED3_46_,    kategoriac4_.KATALOG_RZGW_ID as KATALOG_9_46_,    kategoriac4_.kod as kod4_46_,    kategoriac4_.nazwa as nazwa5_46_,    kategoriac4_.dataDo as dataDo6_46_,    kategoriac4_.dataOd as dataOd7_46_,    kategoriac4_.stawka as stawka8_46_from    KATALOG_SUBSTANCJI_WODA_SCIEKI katalogsub0_      inner join    KATALOG_SUBSTANCJI_WODA_SCIEKI_KATEGORIA_CENOWA_WODA_SCIEKI kategoriac1_    on katalogsub0_.ID=kategoriac1_.KATALOG_SUBSTANCJI_ID        inner join    KATEGORIA_CENOWA_WODA_SCIEKI kategoriac2_    on kategoriac1_.KATEGORIA_CENOWA_ID=kategoriac2_.ID
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經(jīng)驗 獲得超8個贊

因為@ManyToMany. 該注釋僅適用于 2 個連接,就像在 SQL 中一樣。

如果沒有 2 個聯(lián)接,則無法查詢Many-To-Many關(guān)系中的數(shù)據(jù)。第一個連接轉(zhuǎn)到連接表,該表保存對 2 個基表的引用以及您要連接的實際數(shù)據(jù)。然后第二個連接查詢第二個表中的實際數(shù)據(jù)。

KATALOG_SUBSTANCJI_WODA_SCIEKI是基表。然后,您加入 KATALOG_SUBSTANCJI_WODA_SCIEKI_KATEGORIA_CENOWA_WODA_SCIEKI其中保存實體之間的引用,然后KATEGORIA_CENOWA_WODA_SCIEKI保存第二組實際數(shù)據(jù)。

即使您沒有加入查詢,hibernate 也應(yīng)該執(zhí)行這兩個連接來完全加載實體。


查看完整回答
反對 回復 2023-09-27
  • 1 回答
  • 0 關(guān)注
  • 94 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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