請讓我只顯示代碼,Hibernate:如何將R(選擇器,鍵,*)中的不同選擇器映射到不同的字段?
@Entity
class R {
@Id
Long id;
String selector;
long fkey;
// other columns...
}
@Entity
class Foo {
@Id
Long id;
// select * from R where selector='A' and fkey=Foo_id
@OneToMany
Set<R> aSet;
// select * from R where selector='B' and fkey=Foo_id
@OneToMany
Set<R> bSet;
}
在這裏,我不能分割成R
兩個表:因爲選擇是變異R_A
和R_B
。
我知道我可以創建視圖R_A和R_B,但我不知道如何讓Hibernate爲視圖生成DDL。或者,也許我應該在實體註釋中指定自定義SQL查詢?像,
@Entity
@SourceSQL("select * from R where selector='A')
class R_A { ... }
也許這樣的事情,
@Entity
class Foo {
@Id
Long id;
@OneToMany
@RestrictJoin("selector = 'A'")
Set<R> aSet;
@OneToMany
@RestrictJoin("selector = 'B'")
Set<R> bSet;
}
好了,先謝謝了。