Уникальное ограничение с помощью составных ключей в JPA

У меня есть сущность с двумя внешними ключами, которую я также хочу использовать в качестве ограничения. Есть ли способ в JPA определить ограничение, которое будет уникальным только в том случае, если повторяются одинаковые FROM_CURRENCY_ID и TO_CURRENCY_ID, но позволяет, если значения для отменены для FROM_CURRENCY_ID и TO_CURRENCY_ID

@Entity
@Table(name="CURRENCY_CONVERSION")
public class CurrencyConversion extends BaseEntity {

    private static final long serialVersionUID = -2440725717151990999L;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "FROM_CURRENCY_ID")
    private Currency fromCurrencyId;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "TO_CURRENCY_ID")
    private Currency toCurrencyId;

    @Column(name = "CURRENCY_RATE", nullable = false)
    private Double rate;
    // getter setters

}

1 ответ

Добавить уникальное определение ограничения в @Table аннотирование

@Table(
    uniqueConstraints=
        @UniqueConstraint(columnNames={"column_1", "column_2"})
)
Другие вопросы по тегам