Каковы требования для IdClass в EclipseLink?

В руководстве пользователя EclipseLink говорится, что при создании IdClass (не внедренного) для составного первичного ключа он должен иметь открытый конструктор без аргументов и реализовывать методы equals а также hashCode, Кроме того, пример, который он дает, также реализует методы получения и установки.

В персистенции WikiBook есть открытый конструктор с аргументами, без конструктора без аргументов, без методов получения и установки, и он явно заявляет, что EclipseLink не требует реализации equals а также hashCode,

Что из этого действительно требуется? Могу ли я использовать минимальный IdClass только с атрибутами, без конструкторов и методов, потому что EclipseLink сгенерирует их для меня? Это зависит от версии EclipseLink?

1 ответ

Решение

Требуется только конструктор без аргументов (который генерируется Java, если вы не определили другой). Вы можете использовать минимальный класс только с атрибутами.

Тем не менее, EclipseLink не будет генерировать что-либо в этом случае (даже с переплетением), что означает, что вы можете столкнуться с непредвиденными проблемами с операциями на основе хеша или на основе равенства.

Другие вопросы по тегам