Перейти до основного вмісту

Публікації

Показано дописи з міткою "Spring Data JPA"

Складний ключ в Spring Data JPA

Spring Data JPA дозволяє зручно працювати з ORM: для кожної таблиці досить просто створити entity-клас із відповідними полями. Поле певинного ключа позначається антацієї @Id . Але інколи доводиться працювати з таблицями, у яких є лише складений ключ. В такому випадку можна використати кілька підходів. Вбудований клас Нехай у нас є таблиця зі складеним клчем по полях product_id та language_id . Тоді нам потрібно створити допоміжний Embeddable-клас: @Embeddable public class ProductLanguageId implements Serializable { @Column(name = "product_id") private Long productId; @Column(name = "language_id") private Long languageId; // constructors public ProductLanguageId() {} public ProductLanguageId(Long productId, Long languageId) { this.productId = productId; this.languageId = languageId; } // getters/setters @Override public boolean equals(Object o) { ... } @Override public int hashCode() { ....