У меня возникла эта проблема, которая является очень распространенной проблемой, и я решил поделиться разрешением здесь.Как создать составной первичный элемент с аннотациями JPA (или Hibernate)
Проблема: У меня есть составной первичный ключ в одной из моих таблиц. Мне нужно сопоставить это с аннотациями JPA.
Мой POJO1:
public class Alarm {
@Id
@Column(name="alm_id")
private String id;
@Column(name="alm_description")
private String desc;
@ManyToOne
@JoinColumn(name = "alm_norm_id")
private Alarm normAlarm;
//getters and setters
}
Мой POJO2:
public class Equipment {
@Id
@Column(name="equ_id")
private String id;
@Column(name="equ_fixed_asset")
private String fixedAsset;
@Column(name="equ_service_tag")
private String serviceTag;
//getters and setters
}
Поэтому у меня есть таблица, в которой первичный ключ является Equipment
+ Alarm
и мне нужно отобразить это.
Ну, вы все же закончили тем, что создали внутренний класс. Если бы вы захотели, вы могли бы создать внутренний класс для '@ IdClass'. Но, как подход, '@ Embeddable' и' @ EmbeddedId' являются более современными. –
Да, я предпочитаю создавать вложенные классы вместо создания слишком большого количества разделенных файлов .. Спасибо;) –