joincolumns - dodanie więcej niż jednej kolumny z jednej tabeli

0

Przychodzę do Was z zapytaniem, jak dołączyć dwie kolumny znajdujące się w jednej tabeli?


    @OneToMany((fetch = FetchType.EAGER)
    @JoinColumns({
            @JoinColumn(name="firstName"),
            @JoinColumn(name="lastName")})
    private Client client;

To rozwiązanie generuje błąd, ale może jestem w nim gdzieś niedaleko poprawności.
Z góry dziękuję

0

o_O ale przecież JoinColumn definiuje warunek złączenia a nie dołącza kolumny.

generuje błąd

JAKI błąd? Zgaduje że mówi ci że nie masz takich kolumn w twojej klasie więc nie umie zrobić tego joina. Tam powinno być jakieś client_id.

0

Tak oczywiście, złączenie a nie dołączenie.
Klasa Client posiada kolumne id, firstName, lastName.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: A Foreign key refering pl.Backend.backend.entity.Client from pl.Backend.backend.entity.RideLesson has the wrong number of column. should be 1
1

Aż boję się pytać co zrobisz jak w twojej aplikacji zarejestruje się 2 Janów Kowalskich....
Wracając do tematu: problem w tym że te twoje firstname i lastname nie tworzą razem klucza głównego w tabeli Client, a skoro chcesz ich używać jako warunku złączenia, to powinny.

0

Moja aplikacja jest zwykła formą nauki, więc myślę, że nie masz o co się bać ;-)
Ale słusznie, wygląda to średnio, dziękuję za uwagę i pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1