Java >> Java tutorial >  >> Tag >> transient

Ikke-null-egenskaben refererer til en forbigående værdi - forbigående instans skal gemmes før den aktuelle operation

Prøv at sætte CascadeType.ALL

@OneToOne(fetch = FetchType.EAGER,cascade=CascadeType.ALL)
@JoinColumn(name="COUNTRY_ID", nullable=false) 

private Country country;

Jeg havde et lignende problem. To enheder:Dokument og Status .Dokument havde et forhold OneToMany med Status , der repræsenterede historien om Status dokumentet havde.

Så der var en @NotNull @ManyToOne reference til Dokument inde i Status .

Jeg havde også brug for at kende den faktiske status af Dokument . Så jeg havde brug for et andet forhold, denne gang @OneToOne , også @NotNull , inde i Dokument .

Problemet var:hvordan kan jeg fortsætte med begge enheder første gang, hvis begge havde en @NotNull henvisning til den anden?

Løsningen var:fjern @NotNull reference fra actualStatus reference. På denne måde var det i stand til at bevare begge enheder.


Java tag