У меня есть сущность:
@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;
, но ничего не изменилось.