JPA как обеспечить уникальность над 2 полями, строкой и логическим - PullRequest
0 голосов
/ 13 марта 2019

Я хочу создать сущность, содержащую 2 поля, которые должны быть уникальными вместе.Одно из полей является логическим:

@Entity
public class SoldToCountry {

    private String countryId;


    private Boolean isInt;
}

Для данной строки никогда не должно существовать более двух записей, одна с isInt:true, а другая isInt:false.

Я прочиталdoc о @Id, но похоже, что Boolean не поддерживается.Для меня также было бы хорошо иметь уникальное ограничение, охватывающее оба поля и использующее сгенерированный идентификатор.

Каков наилучший способ получить это ограничение через JPA?

1 Ответ

1 голос
/ 13 марта 2019

Если в вашей таблице действительно только два поля, и вы хотите, чтобы они были уникальными, то они должны быть составным PK таблицы.Взгляните на Как создать и обработать составной первичный ключ в JPA

Если вместо этого у вас есть другой ПК, примите во внимание комментарий Себастьяна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...