javax.persistence
Annotation Type Embeddable


@Documented
@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface Embeddable

Defines a class whose instances are stored as an intrinsic part of an owning entity and share the identity of the entity. Each of the persistent properties or fields of the embedded object is mapped to the database table for the entity.

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


 

Since:
Java Persistence 1.0



Submit a bug or feature

Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 10-February-2011 12:41

Scripting on this page tracks web page traffic, but does not change the content in any way.