Ist die JPA-Annotation @Embedded obligatorisch?
Ich habe versuchtWeglasse das@Embedded
Annotation und trotzdem wurden die Felder in die Tabelle eingebettet. Ich kann nichts finden, was sagen würde, dass das@Embedded
Anmerkung ist optional.
Ist e oderEs ist nich Optional
Der folgende Code
@Embeddable
public class Address {
String city;
String street;
}
@Entity
public class Person {
String name;
@Embedded // it seems that it works even if this annotation is missing!?
Address address;
}
erzeugt immer die gleiche Tabelle
person
name
city
street
even wenn ich tuenich angeben@Embedded
.
Meine Konfiguration:
JBoss EAP 6.4.0 hibernate-jpa-2.0-api-1.0.1.Final-redhat-3.jarDie JPA-Spezifikation besagt:
http: //docs.oracle.com/javaee/7/api/javax/persistence/Embedded.htm
@javax.persistence.Embedded
Gibt ein persistentes Feld oder eine persistente Eigenschaft einer Entität an, deren Wert eine Instanz einer einbettbaren Klasse ist. Die einbettbare Klasse muss als einbettbar gekennzeichnet sein.
http: //docs.oracle.com/javaee/7/api/javax/persistence/Embeddable.htm
@javax.persistence.Embeddable
Gibt eine Klasse an, deren Instanzen als fester Bestandteil einer besitzenden Entität gespeichert sind und die Identität der Entität gemeinsam nutzen. Alle persistenten Eigenschaften oder Felder des eingebetteten Objekts werden der Datenbanktabelle für die Entität zugeordnet.