2011-01-14 4 views
2

ich die folgende SituationEJB3 Beharrlichkeit, mit einem Feld, das keine Einheit ist

@Entity 
public class myEntity implements Serializable { 

    private AnotherClass anotherClass; 
} 


public class AnotherClass implements Serializable { 

    private String ... 
    private String ... 


} 

aber AnotherClass nicht mit @Entity kommentiert habe. Ich kann meine Bean erfolgreich bereitstellen, aber wenn ich versuche, eine MyEntity Klasseninstanz beizubehalten, gibt es mir NoSerializableException.

Ist dies, weil AnotherClass nicht mit @Entity annotiert ist?

Antwort

4

Eigentlich ja, obwohl hier noch etwas anderes los ist.

Da AnotherClass weder @Entity noch @Embeddable ist, kann JPA versuchen, es stattdessen als Binärfeld zu serialisieren. Es scheint, dies zu versuchen, aber die NotSerializableException schlägt vor, dass ein anderes Feld von entweder MyEntity oder AnotherClassnicht serialisierbar ist, was die Ausnahme verursacht.

Sie wollen fast sicher nicht AnotherClass persistiert als eine Binärdatei, so dass Sie es annotieren müssen, um JPA zu sagen, wie man es beharrt.

Verwandte Themen