Hibernate zmiana nazwy kolumny

0

Cześć

nie rozumiem czemu korzystając z adnotacji @Column(name = "NIE_DZIALA") nie zmienia mi się nazwa kolumny w przypadku kiedy korzystam również z adnotacji @OneToMany.
Próbuję w taki sposób:

@Entity
public class Category extends BaseEntity {

    @Column(name = "DZIALA")
    private String name;

    @OneToMany
    @Column(name = "NIE_DZIALA")
    private Set<Product> products = new HashSet<>();

    public Category() {
    }
}

W wyniku czego dostaję:
screenshot-20171112110809.png
Próbowałem, też robić to tak - przykład z książki Java Persistence, ale też nie działa :(

@Entity
public class Category extends BaseEntity {

    @Column(name = "DZIALA")
    private String name;

    @ElementCollection
    @CollectionTable(
            name = "CATEGORY_P",
            joinColumns = @JoinColumn(name = "CATEGORY_ID")
    )
    @Column(name = "NIE_DZIALA")
    private Set<Product> products = new HashSet<>();

    public Category() {
    }
}
0

Ale co, ty oczekujesz że będziesz mieć w bazie danych kolumnę w której będzie kolekcja?

Jak masz OneToMany to po stronie Category nie miej w bazie nic, a po stronie produktu miej w bazie CATEGORY_ID i tyle

0

Owszem to co mówisz jest ok. Po prostu zastanawiam się jak hibernate tworzy dodatkową tabele dla kolecji jak zmienić nazwę kolumny. Bo w kodzie Javy fajnie jak pole nazywa się products ale w tabeli chciałbym mapowanie category_id product_id, a nie products_id.

0

A popróbuj @JoinColumn

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