Ответ 1
В соответствии со спецификацией 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, определяемые пользователем сериализуемые типы, байт [], Байт [], char [] и символ []); перечисления; типы сущностей и/или коллекции типов сущностей; а также встраиваемые классы (см. раздел 2.1.5).
Плюс поддержка коллекций. Но никакой примитивной поддержки URL
. Тем не менее, они будут поддерживаться как Serializable
, что, по вашему мнению, приведет к большому количеству объектов, как вы упомянули.
Но вы должны быть в состоянии легко обойти это: у вас может быть URL как String
в поле и геттер/сеттер, который конвертирует с String
в URL
. Затем вы сопоставляете поле с аннотацией.
Или наоборот: java.lang.URL
в поле, а getter/setter - от URL
до String
, затем вы сопоставляете геттер/сеттер с аннотацией. Я думаю, что это работает.