Specifies a persistent field or property of an entity whose
value is an instance of an embeddable class. The embeddable
class must be annotated as
Embeddable.
The AttributeOverride, AttributeOverrides,
AssociationOverride, and AssociationOverrides
annotations may be used to override mappings declared or defaulted
by the embeddable class.
Example:
@Embedded
@AttributeOverrides({
@AttributeOverride(name="startDate", column=@Column("EMP_START")),
@AttributeOverride(name="endDate", column=@Column("EMP_END"))
})
public EmploymentPeriod getEmploymentPeriod() { ... }
- Since:
- Java Persistence 1.0
- See Also:
-
Optional Element Summary
Optional Elements
-
Element Details
-
prefix
String prefixWARNING: This is an Ebean extension (not yet part of JPA standard, refer to JPA_SPEC-23).When specified all the properties in the embedded bean have a prefix applied to their DB column name.
Example:
invalid input: '{@code @Entity public class Invoice { ... @Embedded(prefix="ship_") Address shipAddress; @Embedded(prefix="bill_") Address billAddress; }</pre> <p> Without this extension we need to specify AttributeOverride on each property like: </p> <pre>{@code @Entity public class Invoice { ... @Embedded @AttributeOverride(name = "street", column = @Column(name = "ship_street")) @AttributeOverride(name = "suburb", column = @Column(name = "ship_suburb")) @AttributeOverride(name = "city", column = @Column(name = "ship_city")) @AttributeOverride(name = "status", column = @Column(name = "ship_status")) Address shipAddress; @Embedded @AttributeOverride(name = "street", column = @Column(name = "bill_street")) @AttributeOverride(name = "suburb", column = @Column(name = "bill_suburb")) @AttributeOverride(name = "city", column = @Column(name = "bill_city")) @AttributeOverride(name = "status", column = @Column(name = "bill_status")) Address billAddress; }</pre>'- Default:
""
-