A anotação JPA @Embedded é obrigatória?
eu tenteiomitir a@Embedded
anotação e ainda os campos foram incorporados na tabela. Não consigo encontrar nada que diga que o@Embedded
anotação é opcional.
É isso ounão é opcional?
O código a seguir
@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;
}
gera sempre a mesma tabela
person
name
city
street
mesmo se eu fizernão especificamos@Embedded
.
Minha configuração:
JBoss EAP 6.4.0O hibernate-jpa-2.0-api-1.0.1.Final-redhat-3.jarA especificação JPA diz:
http://docs.oracle.com/javaee/7/api/javax/persistence/Embedded.html
@javax.persistence.Embedded
Especifica um campo ou propriedade persistente de uma entidade cujo valor é uma instância de uma classe incorporável. A classe incorporável deve ser anotada como Incorporável.
http://docs.oracle.com/javaee/7/api/javax/persistence/Embeddable.html
@javax.persistence.Embeddable
Especifica uma classe cujas instâncias são armazenadas como uma parte intrínseca de uma entidade proprietária e compartilham a identidade da entidade. Cada uma das propriedades ou campos persistentes do objeto incorporado é mapeada para a tabela de banco de dados da entidade.