У меня есть несколько лиц с один на один отношений как таковых: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 ").
Что мне нужно для экземпляра магазина, чтобы иметь возможность найти его цель, найдя запись в таблице storeGoals, которая имеет тот же storeId (понимая, конечно, что я могу столкнуться с проблемами ссылочной целостности ...)
Любые идеи о том, как это сделать? Спасибо!
Что storegoals стол? Разве вы не просто пытаетесь повторно использовать отношение ключа Goal.storeId foriegn или существует реляционная таблица «storeGoals», которая существует для сопоставления двух таблиц? – Chris