Während dieser Zeit habe ich ein Upgrade von Springboot 1.5.x auf 2.1 durchgeführt, aber JPA wurde zu diesem Zeitpunkt auch aktualisiert
hogeRepository.findById(id);
Dieser Typ hat einen Kompilierungsfehler bekommen.
Also habe ich es wie unten beschrieben in getOne umgeschrieben. Springboot1.5.x auf 2.1.5 Upgrade [Bis der Kompilierungsfehler behoben ist]
Wenn es keinen Wert gab, habe ich den zurückgegebenen Wert auf null überprüft. Durch Ändern in getOne wird EntityNotFoundExeption jedoch zum Zeitpunkt des Abrufs des Werts der Entität ausgeführt, und try ~ catch funktioniert ebenfalls nicht. .. Was soll ich machen. .. Es wurde wie. Anscheinend scheint getOne faul zu laden und Daten zu laden, wenn tatsächlich darauf zugegriffen wird. Es scheint also, dass getOne für diesen Zweck nicht geeignet ist, z. B. was zu tun ist, wenn die Tabelle keinen Wert enthält. Wenn Sie mit orElse null zurückgeben, ist dies das gleiche wie zuvor.
Hoge hoge = hoge.Repository.findById(id).orElse(null);
if (hoge == null) {
}
Auf der folgenden Seite schrieb er ausführlich, wie man es richtig benutzt. Difference between getOne and findById in Spring Data JPA?
Es war eine Geschichte darüber, es durch eine dunkle Wolke zu ersetzen.
Recommended Posts