@OneToOne()
@JoinColumn(name="vehicle_id", referencedColumnName="vehicleId")
public Vehicle getVehicle() {
return vehicle;
}
Moja klasa UserDetails ma odwzorowanie typu jeden-do-jednego z pojazdem klasy Entitity. Hibernate
tworzy 2 tabele i przypisuje ogólny klucz obcy, który odwzorowuje kolumnę vehicle_id (tabela UserDetails.) Na klucz podstawowy vehicleId (tabela pojazdu).Zmiana wygenerowanej nazwy klucza obcego w stanie hibernacji
KEY FKB7C889CEAF42C7A1 (vehicle_id),
CONSTRAINT FKB7C889CEAF42C7A1 FOREIGN KEY (vehicle_id) REFERENCES vehicle (vehicleId)
Moje pytanie brzmi: w jaki sposób możemy zmienić tego wygenerowanego klucza obcego, w coś sensownego, jak Fk_userdetails_vehicle na przykład.
1. Dlaczego chcesz zmienić wygenerowane ograniczenie klucza obcego? 2.Jeżeli zmienisz go ręcznie, może pojawić się pytanie o jego wyjątkowość (musisz sprawdzić wszystkie klucze więzów tabel i sprawdzić, czy nie są duplikowane)? –
@Ashok_udhay Ponieważ błędy związane z kluczami obcymi zwykle powodują po prostu nazwę klucza obcego wypluwanego przez bazę danych, nazwy kluczy dają pewien kontekst tego, do czego służy klucz, bez konieczności śledzenia go najpierw w bazie danych skrypty tworzenia. – Patrick