Я пытаюсь определить слой JPA над БД, который я не могу изменить. Этот слой содержит отношение OneToMany, в котором часть «Много» имеет внешний ключ, состоящий из тех же 2 полей, которые одна часть имеет в качестве первичного ключа.
@Embeddable
public class FooKey implements Serializable {
@Column(name="foo_id")
private String id;
private String secondaryId;
}
public class Foo {
@EmbeddedId
private FooKey id;
(...)
}
public class Bar {
@Id
private Long id;
(...)
//@Embedded FooKey fooKey;
@ManyToOne
private Foo foo;
}
Как решить эту проблему? Я получаю ошибку @Column(s) not allowed on a @ManyToOne property