Я начал довольно большой Enum из так называемых дескрипторов, которые я хотел использовать в качестве списка ссылок в моей модели. Но теперь я столкнулся с ограничением компилятора/виртуальной машины в первый раз, и поэтому я ищу лучшее решение для этого.
Вот моя ошибка: код для статического инициализатора превышает предел 65535 байтов
Ясно, откуда это происходит - у моего Enum просто много элементов. Но мне нужны эти элементы - нет способа уменьшить этот набор.
Первоначально я планировал использовать одно Enum, потому что я хочу убедиться, что все элементы в Enum уникальны. Он используется в контексте сохранения Hibernate, где ссылка на Enum хранится как значение String в базе данных. Поэтому это должно быть уникальным!
Содержание моего Enum можно разделить на несколько групп элементов, принадлежащих друг другу. Но расщепление Enum удалит уникальную безопасность, которую я получаю во время компиляции. Или это может быть достигнуто с несколькими перечислениями в некотором роде?
Моя единственная идея состоит в том, чтобы определить некоторый интерфейс под названием Дескриптор и закодировать несколько Enums, реализующих его. Таким образом, я надеюсь, что смогу использовать отображение Hibernate Enum, как если бы это был единственный Enum. Но я даже не уверен, что это сработает. И я теряю уникальную безопасность.
Любые идеи, как обрабатывать этот случай?