¿Es obligatoria la anotación JPA @Embedded?

Yo he tratadoomitiendo el@Embedded anotación y aún los campos se han incrustado en la tabla. No puedo encontrar nada que diga que el@Embedded La anotación es opcional.

Lo es ono lo es ¿Opcional?

El siguiente código

@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;
}

genera siempre la misma tabla

person
    name
    city
    street

incluso si lo hagono especificar@Embedded.

Mi configuracion:

JBoss EAP 6.4.0hibernate-jpa-2.0-api-1.0.1.Final-redhat-3.jar

La especificación JPA dice:

http://docs.oracle.com/javaee/7/api/javax/persistence/Embedded.html

@javax.persistence.Embedded

Especifica un campo o propiedad persistente de una entidad cuyo valor es una instancia de una clase incorporable. La clase incorporable debe ser anotada como Embeddable.

http://docs.oracle.com/javaee/7/api/javax/persistence/Embeddable.html

@javax.persistence.Embeddable

Especifica una clase cuyas instancias se almacenan como parte intrínseca de una entidad propietaria y comparten la identidad de la entidad. Cada una de las propiedades o campos persistentes del objeto incrustado se asigna a la tabla de la base de datos para la entidad.

Respuestas a la pregunta(2)

Su respuesta a la pregunta