У меня есть два поля класса сущностей, которые я не хочу быть уникальными, но вместо этого я буду использовать их как составные поля для ключа, который сам должен быть уникальным. Например, у меня есть два поля (имя и версия), которые могут быть одинаковыми для других записей, но вместе они должны быть уникальными. Каков наилучший способ сделать это с помощью Hibernate (с аннотациями)? Я использую Hibernate Validator для других полей, но я не уверен, как использовать его для проверки того, что два поля вместе составляют уникальный ключ. Я использую универсальный класс сущностей, который имеет универсальный тип id, который можно поменять на класс составного ключа, но мне еще предстоит заставить его работать очень хорошо.