@Documented
@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface Embeddable
Note that the Transient
annotation may be used to
designate the non-persistent state of an embeddable class.
Example 1: @Embeddable public class EmploymentPeriod { @Temporal(DATE) java.util.Date startDate; @Temporal(DATE) java.util.Date endDate; ... } Example 2: @Embeddable public class PhoneNumber { protected String areaCode; protected String localNumber; @ManyToOne PhoneServiceProvider provider; ... } @Entity public class PhoneServiceProvider { @Id protected String name; ... } Example 3: @Embeddable public class Address { protected String street; protected String city; protected String state; @Embedded protected Zipcode zipcode; } @Embeddable public class Zipcode { protected String zip; protected String plusFour; }