Переопределить имена столбцов встроенного идентификатора - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть сущность:

@Entity
@Table(name = "person")
public class Person {

    @EmbeddedId
    private PersonId id;

    @OnDelete(action = OnDeleteAction.CASCADE)
    @MapsId("a_phoneNumberId")
    @ManyToOne
    private PhoneNumber phoneNumber;

    @OnDelete(action = OnDeleteAction.CASCADE)
    @MapsId("b_addressId")
    @ManyToOne
    private Address address;
    ...

со встроенным идентификатором:

@Embeddable
public class PersonId implements Serializable {

    private int a_phoneNumberId;
    private int b_addressId;
    ...

Примечание: префиксы a_ и b_ используются для упорядочения столбцов в первичном ключе.

Все работает как положено, и hibernate генерирует таблицу со столбцами: phoneNumber_id и address_id.

Можно ли переименовать эти столбцы, так как я хочу получить имя snake_case - phone_number_id?

До сих пор я пытался

  • @AttributeOverride аннотация:

    @Entity
    @Table(name = "person")
    public class Person {
    
        @EmbeddedId
        @AttributeOverrides({
                @AttributeOverride(name = "a_phoneNumberId", column = @Column(name = "phone_number_id"))
        })
        private PersonId id;
    
  • @ Колонная аннотация для идентификатора:

    @Embeddable
    public class PersonId implements Serializable {
    
        @Column(name = "phone_number_id")
        private int a_phoneNumberId;
    

    , но ничего не изменилось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...