JPA - persist i relacja ManyToOne

JPA - persist i relacja ManyToOne
matis9988
  • Rejestracja:prawie 12 lat
  • Ostatnio:ponad 8 lat
0

Mam takie dwie klasy:

Kopiuj
 
@Entity
class Post {
@Id
@GeneratedValue
private long id;
@ManyToOne
@JoinColumn(name = "authorId")
private Author author;
}
Kopiuj
@Entity
class Author {
@Id
@GeneratedValue
private long id;
@OneToMany(mappedBy = "author")
private List<Post> posts;
}

W jaki sposób mogę dodać nowy obiekt klasy Post do bazy danych bez tworzenia nowego autora? Teraz muszę używać Cascade Persist, żeby nie było błędu "detached entity passed to persist", więc nawet jeśli id autora już istnieje w bazie danych to tworzony jest nowu z id generowanym automatycznie.

edytowany 1x, ostatnio: matis9988
0

Nie za bardzo rozumiem w czym możesz mieć problem. Tworzysz obiekt Post, ustawiasz autora, i zapisujesz. W momencie zapisu, JPA (zazwyczaj Hibernate) weźmie sobie id autora i zostanie zapisany w bazie. Tyle.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.