Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:java:learningunits:lu10:b [2025/11/10 01:10] – apeter | de:modul:ffit:3-jahr:java:learningunits:lu10:b [2025/11/10 01:28] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 29: | Zeile 29: | ||
| } | } | ||
| </ | </ | ||
| - | </ | + | </ |
| + | | < | ||
| <code java> | <code java> | ||
| String projectName = projectRepository.findById(account.getProjectId()).getProjectName(); | String projectName = projectRepository.findById(account.getProjectId()).getProjectName(); | ||
| Zeile 58: | Zeile 59: | ||
| Um ein Objekt mittels einem Objekt zu suchen oder zu löschen, muss nicht das zwingend das ganze Objekte erstellt werden, sondern lediglich die Werte der Fremdschlüssel. | Um ein Objekt mittels einem Objekt zu suchen oder zu löschen, muss nicht das zwingend das ganze Objekte erstellt werden, sondern lediglich die Werte der Fremdschlüssel. | ||
| - | List< | + | ^ Operation ^ Via Join ^ Via Reference-Object ^ |
| - | + | | find | < | |
| + | <code java> | ||
| + | List< | ||
| + | </ | ||
| + | </ | ||
| + | <code java> | ||
| + | Project projectRef = entityManager.getReference(Project.class, | ||
| + | List< | ||
| + | </ | ||
| + | </ | ||
| + | | delete | < | ||
| + | <code java> | ||
| + | accountRepository.deleteByAccountNumberAndProject_ProjectName(accountNumber, | ||
| + | </ | ||
| + | </ | ||
| + | <code java> | ||
| + | Project projectRef = entityManager.getReference(Project.class, | ||
| accountRepository.deleteByAccountNumberAndProject(accountNumber, | accountRepository.deleteByAccountNumberAndProject(accountNumber, | ||
| + | </ | ||
| + | </ | ||
| + | Sofern man nicht eh schon ein Project-Object beziehungsweise ein Reference-Objekt hat, ist die " | ||
| - | oder gar ein neues Objekt zu speichern | + | Die Reference-Objekte sind insbesondere praktisch, wenn neue Entitäten erstellt werden. Dies wird in folgendem Beispiel gezeigt. |
| + | <code java> | ||
| + | Project projectRef = entityManager.getReference(Project.class, | ||
| - | Project project | + | Account account |
| + | .findByAccountNumberAndProject(accountNumber, | ||
| + | .orElse(new Account()); | ||
| + | account.setAccountNumber(accountNumber); | ||
| + | account.setName(accountName); | ||
| + | account.setProject(projectRef); | ||
| + | accountRepository.save(account); | ||
| + | </ | ||