¿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.jarLa 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.