Hibernate Map Column - PullRequest
       8

Hibernate Map Column

0 голосов
/ 29 августа 2018

У меня есть эта таблица

create table person(
  name varchar(250);
  age integer;
  zipcode integer;
  address varchar(250)
);

Могу ли я отобразить в своей сущности что-то вроде этого:

public class Address {
  private Integer zipCode;
private String address;
}

public class Person{
  private String name;
  private Integer age;
  private Address address;
}

без создания новой таблицы по адресу?

ТКС

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Вы можете использовать @DiscriminatorColumn (criminatorType = DiscriminatorType.STRING, name = "TYPE")

--- Добавить

публичный класс Person расширяет адрес { }

0 голосов
/ 29 августа 2018

Да, мы можем отобразить сущность внутри сущности, не создавая новую таблицу.

Мы можем создать таблицу Person и внутри Person, таблица создает столбцы полей таблицы адресов.

1) Адресный класс embeddas внутри класса Person.

@javax.persistence.Embeddable
public class Address {
  private Integer zipCode;
private String address;
}

2) Персональный класс.

 public class Person{
  private String name;
  private Integer age;
  @Embedded // this annotation is optional
 private Address address;
}

Примечание. Добавьте все аннотации JPA, необходимые для создания таблицы.

...