Постоянство EJB3 с полем, которое не является сущностью - PullRequest
2 голосов
/ 14 января 2011

У меня следующая ситуация

@Entity
public class myEntity implements Serializable {

    private AnotherClass anotherClass;
}


public class AnotherClass implements Serializable {

   private String ...
   private String ...


}

, но AnotherClass НЕ помечено @Entity. Я могу успешно развернуть мой компонент, но когда я пытаюсь сохранить экземпляр класса MyEntity, он дает мне NoSerializableException.

Это потому, что AnotherClass не помечено @Entity?

1 Ответ

4 голосов
/ 14 января 2011

По сути, да, хотя здесь происходит что-то еще.

Поскольку AnotherClass не является ни @Entity, ни @Embeddable, JPA может вместо этого попытаться сериализовать его как двоичное поле. Кажется, он пытается это сделать, но NotSerializableException предполагает, что некоторые другие поля MyEntity или AnotherClass не сериализуемы, вызывая исключение.

Вы почти наверняка не хотите, чтобы AnotherClass сохранялся как двоичный файл, поэтому вам нужно аннотировать его, чтобы сообщить JPA, как его сохранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...