Java JPA で、Entity を CompositeId とする
https://stackoverflow.com/questions/50102605/nesting-idclass-working-up-to-3rd-level
を見てやっとわかった
@Entity
public class Foo{
@Id
private Integer FooNumber;
private boolean available;
public Foo(){}
}
@Entity
@IdClass(Bar.BarId.class)
public class Bar{
@Id
private Integer barNumber;
@Id
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH})
private Foo foo;
public Bar(){}
//removed getters setters
static class BarId implements Serializable {
private Integer barNumber;
private Integer foo;
public BarId() {
//JPA
} //removed getters setters
}}
とあるように、private Foo foo;
というエンティティを持っているときに、id 用の子クラスである BarId
の foo
という「同じプロパティ名」を結び付けてあげる…ということが大事だったようだ。
ディスカッション
コメント一覧
まだ、コメントがありません