Как получить уникальный ключ для двух полей с Hibernate?

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

Ответы на вопрос(2)

Ваш ответ на вопрос