Итак, в чем конкретно заключается ваша проблема с созданием класса домена для этих забаненных имен пользователей и хранением их в базе данных? Единственная проблема, которую я вижу, заключается в том, что вам нужно загружать их как начальные данные каждый раз, когда вы запускаете свое приложение в разработке (в производственной среде вы не будете использовать create-drop, не так ли? ;-)). Я не проверял это, но я предполагаю, что с 10 000 очень простых объектов это не должно вызывать раздражение, блокирующее производительность. В работе вы, скорее всего, будете использовать «обновление» в качестве стратегии гибернации, поэтому вам просто нужно загрузить ваши данные один раз в производственную базу данных. Поэтому я предпочел бы создать класс домена и загрузить данные при запуске приложения (только в разработке).
Если ваши забаненные данные имени пользователя доступны только для чтения (т. Е. Список не расширяется во время выполнения), вы также можете рассмотреть возможность загрузки их в память (вероятно, HashSet
для постоянного времени contains()
). 10 000 строк не должны быть проблемой в отношении потребления памяти, и необходимость загружать их при каждом запуске приложения также не является проблемой, потому что обычно вы не слишком часто перезапускаете свою производственную среду.