我有一个一对一关系,因为这样一对夫妇的实体:没有列映射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