![JAR search and dependency download from the Maven repository](/logo.png)
javax.persistence.Embeddable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javax.persistence Show documentation
Show all versions of javax.persistence Show documentation
javax.persistence build based upon git transaction 82dd749
The newest version!
/*
* Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Linda DeMichiel - Java Persistence 2.1
// Linda DeMichiel - Java Persistence 2.0
package javax.persistence;
import java.lang.annotation.Target;
import java.lang.annotation.Retention;
import java.lang.annotation.Documented;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Specifies 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 {@link 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
*/
@Documented
@Target({TYPE})
@Retention(RUNTIME)
public @interface Embeddable {
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy