Hej, mam taką zagwozdke. Generuje sobie Q klasy z pomocą querydsl i część zmiennych w tych klasach jest z przedrostkiem "_" np _zmienna. Nie zmieniając wersji bibliotek, nazwy kolumn na bazie, zaczął mi generować teraz jedna zmienna bez tego przedrostka _ co skutkuje, że projekt się wysypał, bo takiej zmiennej w kodzie już nie mam. Dlaczego taka zmiana, i od czego to zależy, czy w nazwie będzie _ czy nie?
0
0
Trochę po analizowałem i "_" jest w nazwach przy kluczach obcych, kiedy tworzony jest createInvForeignKey w Q-klasie
Mam taką klasę AAA modelu która ma:
@JsonIgnore
@EqualsAndHashCode.Exclude
@ToString.Exclude
@OneToMany(mappedBy = "aaa", cascade = {PERSIST, MERGE}, orphanRemoval = true)
private Set<CCC> cccset = new HashSet<>();
i klasę BBB
@JsonIgnore
@EqualsAndHashCode.Exclude
@ToString.Exclude
@OneToMany(mappedBy = "bbb", cascade = {PERSIST, MERGE}, orphanRemoval = true)
private Set<CCC> cccset = new HashSet<>();
Oraz klasę CCC
Klasa CCC ma
@ManyToOne
@JoinColumn(name = "fk_dok")
private AAA aaa;
@ManyToOne
@JoinColumn(name = "fk_dok2")
private BBB bbb;
gdzie po wygenerowaniu Q klasy wcześniej miałem
public final com.querydsl.sql.ForeignKey<QCCC> _cccFkAAAFk = createInvForeignKey(idAAA, "fk_aaa");
Teraz querydsl przestał generować mi powyższą linie, klucze nie zmieniły się, zmian w kodzie również nie było.. był przywrócony backup bazy - postgres
Dodam, że dla klasy BBB, wygenerował poprawnie
public final com.querydsl.sql.ForeignKey<QCCC> _cccFkBBBFk = createInvForeignKey(idBBB, "fk_bbb");
a dla AAA wcale. Próbowałem na nowo założyć klucz na bazie, ale nie pomogło.
Edit.
Udało się rozwiązać problem, po przywróceniu backupu okazało się, że zginął jeden klucz główny... dziwne :)
Dzięki za pomoc!