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.jar

Die 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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage