JPAにマップされたエンティティにマルチキー制約を導入しようとしています:
public class InventoryItem {
@Id
private Long id;
@Version
private Long version;
@ManyToOne
@JoinColumn("productId")
private Product product;
@Column(nullable=false);
private long serial;
}
基本的に(製品、シリアル)ペアは一意である必要がありますが、シリアルは一意であると言う方法を見つけました。異なる製品が同じシリアル番号を持っている可能性があるため、これは明らかに良い考えではありません。
JPAを介してこの制約を生成する方法はありますか、それとも手動でDBに作成する必要がありますか?