2 klasy: Location
i Address
. Location
zawiera Address
i dodatkowe pola.
Przy tworzeniu adresu, a więc (insertowaniu do tabeli ADDRESS), tworzyć ma się też lokalizacja (a więc ma się insertować też do tabeli LOCATION).
Jak to zrobić elegancko korzystając z udogodnień springa?
Do głowy przyszłymi 3 opcje:
- zrobić triggera na bazie - jeśli tak to pytanie gdzie wpisać sqla i jak by się nie kłóciło z tym co wymyśli jpa.
- wykorzystać aop i nałożyć na
AddressRepository.save()
by odpalałLocationRepository.save()
. - w serwisie dodać:
class AddressService {
LocationService locationService;
// ...
void createNewAddress(Address address) {
locationService.createNewLocation(address);
// ...
// ...
}