JPA如何實現兩個表的非主鍵列的關聯

2021-09-25 18:43:04 字數 550 閱讀 8535

問題描述

表關係: sync(多) ---- media(一)

在用jpa做向專案的時候,一般兩張表關聯的時候都是拿id關聯的,所以在實體類中維護註解@manytoone的時候,在sync表一般是這樣寫的

@manytoone

@joincolumn(name = "sn")

private media media;

這個註解就是吧sync表的sn 欄位和media表關聯,這個時候,你用jpql語句寫join的時候,你會發現它預設關聯的是media的id主鍵字段,而當你的業務不是關聯主鍵的時候,那該怎麼辦?

解決方法

在@joincolumn中指明與media表關聯的字段是哪個

@manytoone

@joincolumn(name="sn", referencedcolumnname="sn")

private media media;

這樣的話,就代表sync表的sn欄位關聯media的sn欄位,完美解決

sqlserver 比較兩個表的列

一 問題 給了兩個各有四五十個列的表,找出他們相同的列和不同的列 二 查詢兩個表的列,存在臨時表 a b都是臨時表,當前連線斷開後自動刪除 rank over order hswpooby syscolumns.name desc as 是sql2005支援的,在每行記錄前加上自增序號 idenhs...

plsql檢視主鍵 如何查詢乙個表的主鍵列名

本帖最後由 yulihua49 於 2011 9 21 16 07 編輯 在這個表裡 desc all cons columns name null?type owner not null varchar2 30 constraint name not null varchar2 30 table ...

資料結構中 兩個表的關聯 表的主鍵

在現實的資料庫應用中,資料儲存在多個相關聯的表中。基本上沒有資料只存在乙個表中的情況。小的應用系統一般也有十幾個表,大型系統一般有上千個表。我們以學生成績查詢為例來講解表的關聯。除了student表,這裡我們需要新建成績表,表grade snocno grade s01c01 s01c04 s02c...