我有一個一對一關係,因爲這樣一對夫婦的實體:沒有列映射JPA一個一對一的關係
@Entity(name="stores")
public class Store implements Serializable {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(name="id")
private int id ;
// How should I set goal ?
private Goal goal ;
}
和:
@Entity(name="storeGoals")
public class Goal {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(name="goalId")
private int id ;
@OneToOne()
@JoinColumn(name = "storeId")
private Store store ;
}
我的問題是如何能我在Store實體中設置了「目標」字段?
通常情況下,我會做這樣的事情:
@Entity(name="stores")
public class Store implements Serializable {
...
@OneToOne()
@JoinColumn(name = "goalId")
private Goal goal ;
...
但在這種情況下,我不能,因爲潛在的「專賣店」表屬於另一個應用程序,並且不能被修改(通過添加「 goalId「列)。
我需要的是Store的一個實例能夠通過在storeGoals表中找到一個具有相同storeId的記錄來查找其目標(當然瞭解我可以遇到參照完整性問題......)
關於如何做到這一點的任何想法? 謝謝!
什麼storegoals表?你是不是隻是想重用Goal.storeId foriegn密鑰關係,還是存在一個關係表'storeGoals'來映射這兩個表? – Chris