У меня есть следующая проблема с сопоставлением сущностей в JPA. У меня есть две сущности: первая — это поиск, а вторая — текст, который представляет переводы для сущностей. Теперь мне нужно привязать поиск к тексту, но я не хочу, чтобы текст имел ссылку на поиск. Чтобы сделать это еще более сложным, Text использует в этой связи не свой первичный ключ, а метакод, определенный в столбце TXTHEAD_CODE
.
Lookup.java
@Entity
@Table(name = "DATREG")
public class Lookup implements PersistableEntity {
@Id
@Column(name = "DATREG_META_CODE")
private String metaCode;
@OneToMany
@JoinTable(name="TXT",
joinColumns=@JoinColumn(name="DATREG_META_CODE", referencedColumnName="TXTHEAD_CODE"),
inverseJoinColumns=@JoinColumn(name="DATREG_META_CODE"))
private List<Text> text;
Text.java
@Entity
@Table(name = "TXT")
public class Text {
@Id
@Column(name = "TXT_ID")
private Long id;
@Column(name = "TXTHEAD_CODE")
private String code;
Итак, я попробовал этот (и несколько других вариантов ), но безрезультатно. Я также не могу создать таблицу соединений в БД и не хочу привязывать Lookup к моему классу Text. Так может ли кто-нибудь сказать мне, есть ли какой-то другой способ?