1
的使用情況是這樣的:JPA/Hibernate的扁平化映射(只是想孫子,並跳過孩子)
有一個現有的數據庫,在那裏
一個有許多燒烤
乙有很多銫
但我並不真的需要Bs,我只想知道A包含多少Cs。
所以我有點需要拼合所有的CS裏包含在一個A的所有B類,並把它們放在A.
在另一個詞,我只想讓孫子和跳過兒童。
有沒有辦法做到這一點,而不創建一個B的實體?
的使用情況是這樣的:JPA/Hibernate的扁平化映射(只是想孫子,並跳過孩子)
有一個現有的數據庫,在那裏
一個有許多燒烤
乙有很多銫
但我並不真的需要Bs,我只想知道A包含多少Cs。
所以我有點需要拼合所有的CS裏包含在一個A的所有B類,並把它們放在A.
在另一個詞,我只想讓孫子和跳過兒童。
有沒有辦法做到這一點,而不創建一個B的實體?
這應該使用帶有表-B一個@OneToMany
協會評爲@JoinTable
可能:
@Entity
@Table(name="TABLE_A")
public class A {
@OneToMany
@JoinTable(
name="TABLE_B",
joinColumns = @JoinColumn(name="A_ID"),
inverseJoinColumns = @JoinColumn(name="B_ID")
)
public Set<C> cs;
}
@Entity
@Table(name="TABLE_C")
public class C {
}
這樣實體A是directy鏈接到實體C和B的僅僅用作連接表。
該問題指定「有沒有辦法做到這一點,而無需爲B創建實體?」 – CuiPengFei
@CuiPengFei,我更新了使用連接表的答案。這是你在哪裏尋找的?如果只是一個計數,這也可以用JPQL –
完成,我會測試一下,謝謝 – CuiPengFei