共有主キーを使用する 1 対 1 の関係を持つ主キーの生成に問題があります。
コードは次のとおりです。
@Entity
@Table(name = "osoba")
public class Osoba implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "osoba_id")
private Integer osobaId;
@PrimaryKeyJoinColumn
@OneToOne(cascade = CascadeType.PERSIST)
public Pracownik pracownik;
...
そしてセカンドクラス:
@Entity
@Table(name = "pracownik")
public class Pracownik
{
@OneToOne
@JoinColumn(name = "osoba_id")
@MapsId("osobaId")
private Osoba osoba;
@Id
@Column(name = "osoba_id")
private Integer osobaId;
...
私は同様の問題を抱えていて、すべてを正しく行ったと思っていましたが、それでも
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): entity.Pracownik
Pracownik オブジェクトを永続化しようとするとき。