Мне нужна коллекция, в которой записи хранятся в виде пар ключ-значение (чтобы я мог искать значения по ключу), но мне нужна коллекция, которая позволяет нескольким значениям совместно использовать один и тот же ключ, используя hibernate
Карта с несколькими значениями для одного ключа называется мультикартой - в библиотеке общих ресурсов Apache есть реализация. Hibernate не поддерживает этот вид коллекций напрямую, но его можно относительно легко расширить, реализовав интерфейс UserCollectionType. В этой статье блога подробно описывается, как это сделать.
UserCollectionType
В коллекции Google имеется мультикарта . Я не знаю, совместимы ли они с Hibernate.
Я также нашел что-то подходящее
http://commons.apache.org/collections/api-3.1/org/apache/commons/collections/MultiMap.html#get(java.lang.Object)
Так что можете предпочесть и это.