Hallo zusammen
ICh habe folgendes Problem :
Ich habe folgende Struktur :
Wenn ich nun ein Association object erzeuge und abspeichere :
wir das erste association Object noch erzeugt. Allerdings bekomme ich einen Fehler wenn ich ein bereits gespeichertes Season Object verwende einen Exception :
detached entity passed to persist: entity.Season
Warum es passiert ist mir eigentlich klar :
Durch die @ManyToOne(cascade = CascadeType.ALL) Annotation wird das Season Objekt versucht erneut zu speichern, allerdings ist das ja bereits vorhanden.
Gibt es eine Möglichkeit diesen Fehler zu umgehen.
Also ich kann natülich jedes Objekte die Cascade rausnehmen und jedes Objekte in einem seperaten Repo speichern - aber vielleicht geht es ja etwas einfacher.
ICh habe folgendes Problem :
Ich habe folgende Struktur :
Java:
@Builder(setterPrefix = "with")
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Season extends DefaultEntity{
private int startYear;
private int endYear;
}
Java:
@Builder(setterPrefix = "with")
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Association extends DefaultEntity {
@NonNull
@Column(unique = true)
private String name;
@ManyToOne(cascade = CascadeType.ALL)
private Season season;
}
Wenn ich nun ein Association object erzeuge und abspeichere :
Java:
Season season = Season.builder()
.withStartYear(2020)
.withEndYear(2021)
.build();
// seasonRepository.save(season);
Association association = Association.builder()
.withName("association")
.withSeason(season)
.build();
Association association2 = Association.builder()
.withName("association2")
.withSeason(season)
.build();
associationRepository.save(association);
associationRepository.save(association2);
wir das erste association Object noch erzeugt. Allerdings bekomme ich einen Fehler wenn ich ein bereits gespeichertes Season Object verwende einen Exception :
detached entity passed to persist: entity.Season
Warum es passiert ist mir eigentlich klar :
Durch die @ManyToOne(cascade = CascadeType.ALL) Annotation wird das Season Objekt versucht erneut zu speichern, allerdings ist das ja bereits vorhanden.
Gibt es eine Möglichkeit diesen Fehler zu umgehen.
Also ich kann natülich jedes Objekte die Cascade rausnehmen und jedes Objekte in einem seperaten Repo speichern - aber vielleicht geht es ja etwas einfacher.