Enum превышает предел статического инициализатора в 65535 байт... что лучше всего делать? ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Enum превышает предел статического инициализатора в 65535 байт... что лучше всего делать?

Сообщение Anonymous »

Я запустил довольно большой список так называемых дескрипторов, которые хотел использовать в качестве справочного списка в своей модели. Но теперь я впервые столкнулся с ограничением компилятора/VM и поэтому ищу лучшее решение, чтобы справиться с этим.

Вот моя ошибка: < em>Код статического инициализатора превышает лимит в 65535 байт

Понятно, откуда это взялось — в моем Enum просто слишком много элементов. Но мне нужны эти элементы — сократить этот набор невозможно.

Изначально я планировал использовать один Enum, потому что хочу быть уверенным, что все элементы внутри Enum уникальны. Он используется в контексте персистентности Hibernate, где ссылка на Enum сохраняется как строковое значение в базе данных. Значит, оно должно быть уникальным!

Содержимое моего Enum можно разделить на несколько групп элементов, принадлежащих друг другу. Но разделение Enum лишило бы уникальной безопасности, которую я получаю во время компиляции. Или этого можно каким-то образом добиться с помощью нескольких Enums?

Моя единственная идея на данный момент — определить некий интерфейс под названием Descriptor и закодировать несколько Enums, реализующих это. Таким образом, я надеюсь, что смогу использовать отображение Hibernate Enum, как если бы это был один Enum. Но я даже не уверен, что это сработает. И я теряю уникальную безопасность.

Есть идеи, как поступить в этом случае?

Подробнее здесь: https://stackoverflow.com/questions/254 ... best-to-do

Вернуться в «JAVA»