|
Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
| ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: НЕОБХОДИМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ | ||||||||
@Target(value={TYPE,METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface AssociationOverrideИспользуемый, чтобы переопределить отображение для связи сущностей.
Может быть применен к объекту, который расширяет отображенный суперкласс, чтобы переопределить отображение отношения, определенное отображенным суперклассом. Если не определенный, ассоциация отображается то же самое как в исходном отображении. Когда использующийся переопределять отображение, определенное отображенным суперклассом, AssociationOverride применяется к объекту class.
Может использоваться, чтобы переопределить отношение, отображающееся от встраиваемого в пределах объекта к другому объекту, когда встраиваемое находится на стороне обладания отношения. Когда использующийся переопределять отображение отношения, определенное встраиваемым class (включая встраиваемый class, встроенный в пределах другого встраиваемого class), AssociationOverride применяется к полю или свойству, содержащему встраиваемое.
Когда AssociationOverride используется, чтобы переопределить отношение, отображающееся от встраиваемого class, name элемент определяет поле отношения ссылки или свойство в пределах встраиваемого class. Переопределять отображения на многократных уровнях встраивания, точка (". "), синтаксис нотации должен использоваться в name элемент, чтобы указать на атрибут в пределах встроенного атрибута. Значение каждого идентификатора, используемого с записью через точку, является именем соответствующего встроенного поля или свойства.
Когда AssociationOverride применяется, чтобы переопределить отображения встраиваемого class, используемого в качестве значения карты,"value."должен использоваться, чтобы снабдить префиксом имя атрибута в пределах встраиваемого class, который переопределяется, чтобы определить это как часть значения карты.
Если отображение отношения является отображением внешнего ключа, joinColumns элемент используется. Если отображение отношения использует объединяющую таблицу, joinTable элемент должен быть определен, чтобы переопределить отображение объединяющей таблицы и/или ее объединяющих столбцов.
Example 1: Overriding the mapping of a relationship defined by a mapped superclass
@MappedSuperclass
public class Employee {
...
@ManyToOne
protected Address address;
...
}
@Entity
@AssociationOverride(name="address",
joinColumns=@JoinColumn(name="ADDR_ID"))
// address field mapping overridden to ADDR_ID foreign key
public class PartTimeEmployee extends Employee {
...
}
Example 2: Overriding the mapping for phoneNumbers defined in the ContactInfo class
@Entity
public class Employee {
@Id int id;
@AssociationOverride(
name="phoneNumbers",
joinTable=@JoinTable(
name="EMPPHONES",
joinColumns=@JoinColumn(name="EMP"),
inverseJoinColumns=@JoinColumn(name="PHONE")
)
)
@Embedded ContactInfo contactInfo;
...
}
@Embeddable
public class ContactInfo {
@ManyToOne Address address; // Unidirectional
@ManyToMany(targetEntity=PhoneNumber.class) List phoneNumbers;
}
@Entity
public class PhoneNumber {
@Id int number;
@ManyToMany(mappedBy="contactInfo.phoneNumbers")
Collection<Employee> employees;
}
Embedded, Embeddable, MappedSuperclass, AttributeOverride| Необходимая Сводка Элемента | |
|---|---|
java.lang.String |
имя
(Требуемый) имя свойства отношения, отображение которого переопределяется, если основанный на свойстве доступ используется, или имя поля отношения, если основанный на поле доступ используется. |
| Дополнительная Сводка Элемента | |
|---|---|
JoinColumn[] |
joinColumns
Объединяющий столбец (цы), отображаемый на персистентный атрибут (ы). |
JoinTable |
joinTable
Объединяющая таблица, которая отображает отношение. |
| Деталь элемента |
|---|
public abstract java.lang.String name
public abstract JoinColumn[] joinColumns
joinColumns элементы должны быть определены, если отображение внешнего ключа используется в переопределении отображения отношения. joinColumns элемент не должен быть определен, если объединяющая таблица используется в переопределении отображения отношения.
public abstract JoinTable joinTable
joinTable элемент должен быть определен, если объединяющая таблица используется в переопределении отображения отношения. joinTable элемент не должен быть определен, если отображение внешнего ключа используется в переопределении отношения.
|
|||||||||
| ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: НЕОБХОДИМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ | ||||||||
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41