Согласно спецификации JPA:
Постоянные поля или свойства
сущность может быть следующих типов:
Java примитивные типы; java.lang.String;
другие сериализуемые типы Java
(включая обертки примитива
типы, java.math.BigInteger,
java.math.BigDecimal, java.util.Date,
java.util.Calendar [7], java.sql.Date,
java.sql.Time, java.sql.Timestamp,
определяемые пользователем сериализуемые типы, byte [],
Байт [], символ [] и символ []);
перечисления; типы сущностей и / или
коллекции типов объектов; а также
встраиваемые классы (см. раздел
2.1.5).
Плюс поддержка коллекций. Но нет примитивной поддержки URL
. Однако они будут поддерживаться как Serializable
, что, как я полагаю, приведет к созданию большого объекта, как вы упомянули.
Но вы должны быть в состоянии легко обойти это: вы можете иметь URL-адрес в виде String
в поле и метод получения / установки, который преобразует из String
в URL
. Затем вы отображаете поле с аннотацией.
Или наоборот: java.lang.URL
в поле и getter / setter для преобразования из URL
в String
, затем вы сопоставляете getter / setter с аннотацией. Я думаю, что это также работает.