Как смоделировать составной ключ в Hibernate? - PullRequest
0 голосов
/ 03 октября 2018

Я моделирую класс модели в Java с Hibernate.Но таблица в БД уже существует, и я хочу ее использовать.

Проблема в том, что у таблицы нет идентификатора.Кроме того, хуже всего то, что кортежи в таблице образованы четырьмя столбцами, и их комбинация создает «вид идентификации / идентификатора».Кроме того, столбцы не являются FK для других таблиц.

Есть ли способ смоделировать это с помощью java, hibernate и т. Д. Без "fix / alter" таблицы?

Спасибо

1 Ответ

0 голосов
/ 03 октября 2018

Вы должны определить свой класс с помощью @EmbeddedId Пример:

Ваша сущность, которая уже существует:

@Entity
@Table(name = "ENTITY_EXAMPLE")
public class EntityExample {

    // this is your new class Embeddable
    @EmbeddedId
    private EntityExampleId id;

    //other fields


    //geters y seters
      //////////////////////////

 }

И создать другой класс @Embeddable, который содержит ваши 4 столбцаВаш составной ID

@Embeddable
public class EntityExampleId implements Serializable{

    private static final long serialVersionUID = 1L;

    @Column(name = "COLUMN1", nullable = false)
    private Integer col1; 

    @Column(name = "COLUMN2", nullable = false)
    private Integer col2; 

    @Column(name = "COLUMN3", nullable = false)
    private Date col3;

    @Column(name = "COLUMN4", nullable = false)
    private Date col4;

    //geters y seters
   //////////////////////////

}

Для получения дополнительной информации см. ссылки

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