1

共有主キーを使用する 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 オブジェクトを永続化しようとするとき。

4

2 に答える 2