#java #spring #jpa #spring-data-jpa
Вопрос:
Создание класса модели JPA для таблицы, в которой не определен первичный ключ, но создан уникальный индекс .
Например, существует таблица popular_item, в которой есть такие столбцы,как itemEntityId, ItemType,itCode, количество, статус, дата создания. Среди них, если столбцы itemEntityId, ItemType,itCode, количество являются частью уникального индекса . Тогда как создать класс модели ?
Ответ №1:
Класс модели JPA может быть создан, как показано ниже, с идентификатором, PopularItemId
представляющим собой комбинацию столбцов, входящих в уникальный индекс
@Table(name="popular_item")
@Entity
@NoArgConstructor
@AllArgCOnstructor
PopularItem{
@EmbeddedId
@AtrributeOverride(name="itemEntityId",column=@Column(name=""))
@AtrributeOverride(name="itemType",column=@Column(name="itemType"))
@AtrributeOverride(name="itCode",column=@Column(name="itCode"))
@AtrributeOverride(name="quantity",column=@Column(name="quantity"))
private PopularItemId popularItemId;
@Column(name="status")
private boolean status;
@Column(name="created_date")
private LocalDate createdDate;
}
@AllArgsConstructor
@NoArgConstrucotor
@Embeddable
public class PopularItemId {
private String itemEntityId;
private String itemType;
private String itCode;
private Double quantity;
}