1
對於一對一關係,是否可以將外部表的屬性置於@Entity
中,就好像它屬於那個@Entity
?我可以用一個例子來解釋自己。將外部屬性添加到實體,就好像它們自己一樣
比方說,我有一個表foo
與大量的記錄。其中一些記錄可以有一個額外的文本屬性bar
,但其中大多數不會。爲了節省空間,我會選擇將該額外的房產放在單獨的表bar
中。在我Foo
POJO,我會再加入,看起來像一個屬性:
@OneToOne
@JoinColumn(name = "fooID")
private Bar bar;
無論我想訪問我的foo
對象的bar
財產,我不得不寫:
foo.getBar().getBar();
這看起來有點愚蠢,特別是在Bar
POJO只有一個屬性bar
的情況下。是否有可能使用一些神奇的註釋,如傑克遜的@JsonUnwrapped
,允許我但Bar
的屬性直接在Foo
像這樣?
@OneToOne(...)
@JoinColumn(...)
@MaybeSomeMoreMagicalAnnotations
private String bar;
不知道我理解的@SecondaryTable註解做到這一點。 Java方法允許你抽象他們返回你想要的東西。方法String getBar(){return(bar == null?)null:bar.getBar();} – Chris
當然,但只是將問題移到我的POJO。外面很乾淨,我喜歡,但我想知道是否有最佳的解決方案。 – delucasvb