我在生成具有使用共享主键的一对一关系的主键时遇到问题。
这是代码:
@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 对象时。