ограничение [ноль];вложенным исключением является org.hibernate.exception.ConstraintViolationException: не удалось выполнить инструкцию ", - PullRequest
0 голосов
/ 21 марта 2019

У меня есть две сущности, одна из них "миссионер", а другая - класс.и у меня есть другой объект под названием dept_gen.Оценка имеет встроенный идентификатор, который содержит код оценки и код dept_gen.

класс и миссионеры имеют отношение один ко многим, один класс имеет много миссионеров.

grade и dept_gen имеют отношение многие к одному.один dept_gen имеет много оценок.и миссионеры имеют отношение один к одному с dept_gen, один dept_gen имеет много миссионеров.и при тестировании с почтальоном я заполнил все таблицы, чтобы они не были пустыми.

и есть сущность dept_gen,

Я получаю сообщение об ошибке, когда пытаюсь опубликовать «миссионерскую работу».и когда я пытаюсь опубликовать миссию без оценки, она работает.

missionnaire:

@Id
@Column(name="CIN")
private String cin;

@JoinColumn(name = "CODE", referencedColumnName = "CODE")
@ManyToOne
private DeptGen code;

@ManyToOne(cascade = CascadeType.ALL)
@JoinColumns({
    @JoinColumn(name = "CODE",referencedColumnName = "CODE" ,  insertable=false, updatable=false)
    , @JoinColumn(name = "COD_GRD",referencedColumnName="COD_GRD" ,  insertable=false, updatable=false)})
private Grade grade;





and this is grade : 

    @EmbeddedId
    private GradePK gradePK;

   ...other columns .. 

    @MapsId("code")
    @JoinColumn(name = "CODE", referencedColumnName = "CODE", nullable = false, insertable = false, updatable = false)
    @ManyToOne(optional = false, fetch = FetchType.EAGER)
    private DeptGen deptGen;


    @OneToMany(cascade = CascadeType.ALL, mappedBy = "grade", fetch = FetchType.EAGER)
    private Collection<Missionnaire> missionnaireCollection;


@JsonIgnore
 public Collection<Missionnaire> getMissionnaireCollection() {
        return missionnaireCollection;
    }

.... а это - gradePK: @Embeddable открытый класс GradePK реализует Serializable {

    private static final long serialVersionUID = 1L;


    @Column(name = "CODE")
    private String code;


    @Column(name = "COD_GRD")
    private String codGrd;

, и это класс dept_gen с момента миссиии оценка имеет отношение к нему:

  private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "CODE")
    private String code;


    @OneToMany(cascade = CascadeType.ALL, mappedBy = "deptGen")
    @JsonIgnore
    private Collection<Fonction> fonctionCollection;


    @OneToMany(cascade = CascadeType.ALL, mappedBy = "deptGen")
    @JsonIgnore
    private Collection<Grade> gradeCollection;



    @OneToMany(cascade = CascadeType.ALL, mappedBy = "code")
    @JsonIgnore
    private Collection<Missionnaire> missionnaireCollection;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...