Java org.hibernate.PropertyValueException:not null属性引用空值或暂时值OneToOne关系

Java org.hibernate.PropertyValueException:not null属性引用空值或暂时值OneToOne关系,java,hibernate,maven,Java,Hibernate,Maven,我刚从hibernate开始。这个项目是由Maven和Hibernate完成的,但是我的关系中有一些我不理解的问题 在我的模型中,我创建了一个Person类,Secretary和Doctor从中继承,一个accounts用户类 我的问题在于增加一名医生或一名秘书的账户 个人类 @Entity @Table(name = "personne") @Inheritance(strategy = InheritanceType.JOINED) public abstract cla

我刚从hibernate开始。这个项目是由Maven和Hibernate完成的,但是我的关系中有一些我不理解的问题

在我的模型中,我创建了一个Person类,Secretary和Doctor从中继承,一个accounts用户类 我的问题在于增加一名医生或一名秘书的账户

个人类

@Entity
@Table(name = "personne")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Personne implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(length = 50)
    private String nom;

    @Column(length = 100)
    private String prenom;

    @Column(length = 13)
    private String tel;
@Entity
@Table(name = "medecin")
@PrimaryKeyJoinColumn(name = "id")
public class Medecin extends Personne implements Serializable {

    private static final long serialVersionUID = 1L;

    @OneToMany(mappedBy = "medecin")
    private List<Rendezvous> listeRv;

    @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name = "user_id", referencedColumnName = "id", unique = false, nullable = true)
    private User user;
@Entity
@Table(name = "secretaire")
@PrimaryKeyJoinColumn(name = "id")
public class Secretaire extends Personne implements Serializable {

    private static final long serialVersionUID = 1L;

    @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name = "user_id", referencedColumnName = "id", unique = false, nullable = true)
    private User user;

    @OneToMany(mappedBy = "secretaire")
    private List<Rendezvous> listeRv;
博士类继承自Person类

@Entity
@Table(name = "personne")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Personne implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(length = 50)
    private String nom;

    @Column(length = 100)
    private String prenom;

    @Column(length = 13)
    private String tel;
@Entity
@Table(name = "medecin")
@PrimaryKeyJoinColumn(name = "id")
public class Medecin extends Personne implements Serializable {

    private static final long serialVersionUID = 1L;

    @OneToMany(mappedBy = "medecin")
    private List<Rendezvous> listeRv;

    @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name = "user_id", referencedColumnName = "id", unique = false, nullable = true)
    private User user;
@Entity
@Table(name = "secretaire")
@PrimaryKeyJoinColumn(name = "id")
public class Secretaire extends Personne implements Serializable {

    private static final long serialVersionUID = 1L;

    @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name = "user_id", referencedColumnName = "id", unique = false, nullable = true)
    private User user;

    @OneToMany(mappedBy = "secretaire")
    private List<Rendezvous> listeRv;
我需要帮助