Обратите внимание, что я на самом деле ничего не делаю с базой данных, поэтому инструменты ORM, вероятно, не то, что я ищу.Есть ли коллекция Java (или аналогичная), которая ведет себя как таблица SQL с автоматическим идентификатором?
Я хочу иметь несколько контейнеров, каждый из которых содержит несколько объектов, причем все объекты в одном контейнере имеют один класс. В контейнере должно отображаться поведение таблицы базы данных, а именно:
- позволяет одному из полей объекта использоваться как уникальный ключ, т.е. е. другие объекты, которые имеют одинаковое значение в этом поле, не добавляются в контейнер.
- после принятия нового объекта, контейнер должен выдавать числовой идентификатор, возвращаемый вызывающему устройству метода вставки.
Вместо того, чтобы вызывать ошибку при запросе «повторяющейся записи», контейнер должен просто пропустить вставку и вернуть ключ уже существующего объекта.
Теперь я бы написал универсальный контейнерный класс, который принимает объекты, которые реализуют интерфейс, чтобы получить значение поля ключа и использовать HashMap с этими значениями в качестве реального класса хранения. Есть ли лучший подход с использованием существующих встроенных классов? Я просматривал HashSet и тому подобное, но они, похоже, не подходили.
@Benjamin: хэш-коды не могут быть использованы в качестве цифровых идентификаторов, так как они не уникальны. – CPerkins