Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ТРЕБУЕМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ |
@Target(value={TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) public @interface AttributeOverride
Используемый, чтобы переопределить отображение a Basic
(или явный или значение по умолчанию) свойство или поле или Id
свойство или поле.
Может быть применен к объекту, который расширяет отображенный суперкласс или до встроенного поля или свойства, чтобы переопределить основное отображение или отображение идентификатора, определенное отображенным суперклассом или встраиваемым class (или встраиваемым class одного из его атрибутов).
Может быть применен к набору элемента, содержащему экземпляры встраиваемого class или к набору карты, ключом которого и/или значением является встраиваемый class. Когда AttributeOverride
применяется к карте,"key.
"или"value.
"должен использоваться, чтобы снабдить префиксом имя атрибута, который переопределяется, чтобы определить это как часть ключа карты или значения карты.
Переопределять отображения на многократных уровнях встраивания, точка (". "), форма нотации должна использоваться в name
элемент, чтобы указать на атрибут в пределах встроенного атрибута. Значение каждого идентификатора, используемого с записью через точку, является именем соответствующего встроенного поля или свойства.
Если AttributeOverride
не определяется, столбец отображается то же самое как в исходном отображении.
Example 1: @MappedSuperclass public class Employee { @Id protected Integer id; @Version protected Integer version; protected String address; public Integer getId() { ... } public void setId(Integer id) { ... } public String getAddress() { ... } public void setAddress(String address) { ... } } @Entity @AttributeOverride(name="address", column=@Column(name="ADDR")) public class PartTimeEmployee extends Employee { // address field mapping overridden to ADDR protected Float wage(); public Float getHourlyWage() { ... } public void setHourlyWage(Float wage) { ... } } Example 2: @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; } @Entity public class Customer { @Id protected Integer id; protected String name; @AttributeOverrides({ @AttributeOverride(name="state", column=@Column(name="ADDR_STATE")), @AttributeOverride(name="zipcode.zip", column=@Column(name="ADDR_ZIP")) }) @Embedded protected Address address; ... } Example 3: @Entity public class PropertyRecord { @EmbeddedId PropertyOwner owner; @AttributeOverrides({ @AttributeOverride(name="key.street", column=@Column(name="STREET_NAME")), @AttributeOverride(name="value.size", column=@Column(name="SQUARE_FEET")), @AttributeOverride(name="value.tax", column=@Column(name="ASSESSMENT")) }) @ElementCollection Map<Address, PropertyInfo> parcels; } @Embeddable public class PropertyInfo { Integer parcelNumber; Integer size; BigDecimal tax; }
Embedded
, Embeddable
, MappedSuperclass
, AssociationOverride
Необходимая Сводка Элемента | |
---|---|
Столбец |
столбец
(Требуемый) столбец, который отображается на персистентный атрибут. |
java.lang.String |
имя
(Требуемый) имя свойства, отображение которого переопределяется, если основанный на свойстве доступ используется, или имя поля, если основанный на поле доступ используется. |
Деталь элемента |
---|
public abstract java.lang.String name
public abstract Column column
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ТРЕБУЕМЫЙ | ДОПОЛНИТЕЛЬНЫЙ | ДЕТАЛЬ: ЭЛЕМЕНТ |
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41