javax.persistence.AssociationOverrides 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 cfcdce1
/*******************************************************************************
* Copyright (c) 2008 - 2013 Oracle Corporation. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* 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 static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Used to override mappings of multiple relationship properties or fields.
*
*
*
* Example:
*
* @MappedSuperclass
* public class Employee {
*
* @Id protected Integer id;
* @Version protected Integer version;
* @ManyToOne protected Address address;
* @OneToOne protected Locker locker;
*
* public Integer getId() { ... }
* public void setId(Integer id) { ... }
* public Address getAddress() { ... }
* public void setAddress(Address address) { ... }
* public Locker getLocker() { ... }
* public void setLocker(Locker locker) { ... }
* ...
* }
*
* @Entity
* @AssociationOverrides({
* @AssociationOverride(
* name="address",
* joinColumns=@JoinColumn("ADDR_ID")),
* @AttributeOverride(
* name="locker",
* joinColumns=@JoinColumn("LCKR_ID"))
* })
* public PartTimeEmployee { ... }
*
*
*@see AssociationOverride
*
* @since Java Persistence 1.0
*/
@Target({TYPE, METHOD, FIELD})
@Retention(RUNTIME)
public @interface AssociationOverrides {
/**
*(Required) The association override mappings that are to be
* applied to the relationship field or property .
*/
AssociationOverride[] value();
}