Spring data jpa speichern kann nicht id
Meiner Person id generiert wird, und es war in Ordnung arbeiten, wenn ich DAO verwenden, anstelle von Spring data JPA.
@Id
@Column(name = TABLE_COLUM_NAME_ID)
@GeneratedValue
private int id;
Nun habe ich angefangen zu verwenden, Spring data JPA, und nachdem ich call repository.save(myboject)
oder repository.saveAndFlush(myobject)
rufe ich myobject.getId()
. Aber die id wird niemals aufgefüllt.
Suchte ich in meiner Datenbank und das Objekt in der Datenbank und die id korrekt ist.
Weiß jemand, warum die id nicht gesetzt, nachdem ich genannt save()
? Ich habe kein Problem, wenn ich entitymanager.save()
.
InformationsquelleAutor Grey | 2013-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, diese wie
Dann nach Aufruf
getId()
;Das problem ist MyEntity requestEntity; savedEntity = repositroy.speichern(requestEntity). Id ist nicht in requestEntity aber in savedEntity
Funktioniert nicht mit
PagingAndSortingRepository
Bitte nicht Antworten geben wie versuchen Sie, diese... hinzufügen ordnungsgemäße Erklärung zur Antwort, Wann immer erforderlich.
InformationsquelleAutor NPKR
Ich glaube, dieser Beitrag beantwortet deine Frage:
Warum nutzen Sie zurückgegeben Instanz nach dem save() auf Spring Data JPA-Repository?
Den
repository.save()
Methode tatsächlich gibt ein neues Objekt wie JPAentityManager.merge()
und das zurückgegebene Objekt ist derjenige, der die ID gesetzt.InformationsquelleAutor wrschneider
repository.saveAndFlush();
Methode:@GeneratedValue(strategy = GenerationType.AUTO)
), auf das zugehörige Feld(id
):InformationsquelleAutor Celik
Versuchen Sie, Strategie für
@GeneratedValue
wieInformationsquelleAutor TheKojuEffect
Diese Methode gibt die gespeicherte
id
Nun haben Sie Ihre
id
.InformationsquelleAutor bpedroso