javax.persistence
Тип аннотации OneToOne


@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface OneToOne

Определяет однозначную ассоциацию к другому объекту, у которого есть непосредственное разнообразие. Не обычно необходимо определить связанный целевой объект явно, так как это может обычно выводиться из типа ссылаемого объекта. Если отношение двунаправлено, сторона необладания должна использовать mappedBy элемент OneToOne аннотация, чтобы определить поле отношения или свойство стороны обладания.

OneToOne аннотация может использоваться в пределах встраиваемого class, чтобы определить отношение от встраиваемого class до объекта class. Если отношение двунаправлено, и объект, содержащий встраиваемый class, находится на стороне обладания отношения, сторона необладания должна использовать mappedBy элемент OneToOne аннотация, чтобы определить поле отношения или свойство встраиваемого class. Точка (". "), синтаксис нотации должен использоваться в mappedBy элемент, чтобы указать на отношение приписывает в пределах встроенного атрибута. Значение каждого идентификатора, используемого с записью через точку, является именем соответствующего встроенного поля или свойства.

    Example 1: One-to-one association that maps a foreign key column

    // On Customer class:

    @OneToOne(optional=false)
    @JoinColumn(
        name="CUSTREC_ID", unique=true, nullable=false, updatable=false)
    public CustomerRecord getCustomerRecord() { return customerRecord; }

    // On CustomerRecord class:

    @OneToOne(optional=false, mappedBy="customerRecord")
    public Customer getCustomer() { return customer; }


    Example 2: One-to-one association that assumes both the source and target share the same primary key values. 

    // On Employee class:

    @Entity
    public class Employee {
        @Id Integer id;
    
        @OneToOne @MapsId
        EmployeeInfo info;
        ...
    }

    // On EmployeeInfo class:

    @Entity
    public class EmployeeInfo {
        @Id Integer id;
        ...
    }


    Example 3: One-to-one association from an embeddable class to another entity.

    @Entity
    public class Employee {
       @Id int id;
       @Embedded LocationDetails location;
       ...
    }

    @Embeddable
    public class LocationDetails {
       int officeNumber;
       @OneToOne ParkingSpot parkingSpot;
       ...
    }

    @Entity
    public class ParkingSpot {
       @Id int id;
       String garage;
       @OneToOne(mappedBy="location.parkingSpot") Employee assignedTo;
        ... 
    } 

 

С тех пор:
Персистентность Java 1.0

Дополнительная Сводка Элемента
 CascadeType[] каскад
          (Дополнительный) операции, которые должны быть расположены каскадом к цели ассоциации.
 FetchType выборка
          (Дополнительный), должна Ли ассоциация быть лениво загружена или должна быть нетерпеливо выбрана.
 java.lang.String mappedBy
          (Дополнительный) поле, которому принадлежит отношение.
 boolean дополнительный
          (Дополнительный), является Ли ассоциация дополнительной.
 boolean orphanRemoval
          (Дополнительный), применить Ли удалить работу к объектам, которые были удалены из отношения и располагать каскадом удалить работу к тем объектам.
 java.lang.Class targetEntity
          (Дополнительный) объект class, который является целью ассоциации.
 

targetEntity

public abstract java.lang.Class targetEntity
(Дополнительный) объект class, который является целью ассоциации.

Значения по умолчанию к типу поля или свойства, которое хранит ассоциацию.

Значение по умолчанию:
пусто. class

каскад

public abstract CascadeType[] cascade
(Дополнительный) операции, которые должны быть расположены каскадом к цели ассоциации.

По умолчанию никакие операции не располагаются каскадом.

Значение по умолчанию:
{}

выборка

public abstract FetchType fetch
(Дополнительный), должна Ли ассоциация быть лениво загружена или должна быть нетерпеливо выбрана. НЕТЕРПЕЛИВАЯ стратегия является требованием ко времени выполнения провайдера персистентности, чтобы связанный объект был нетерпеливо выбран. ЛЕНИВАЯ стратегия является подсказкой ко времени выполнения провайдера персистентности.

Значение по умолчанию:
javax.persistence. FetchType. НЕТЕРПЕЛИВЫЙ

дополнительный

public abstract boolean optional
(Дополнительный), является Ли ассоциация дополнительной. Если установлено в ложь тогда ненулевое отношение должно всегда существовать.

Значение по умолчанию:
истина

mappedBy

public abstract java.lang.String mappedBy
(Дополнительный) поле, которому принадлежит отношение. Этот элемент только определяется на обратном (необладание) сторона ассоциации.

Значение по умолчанию:
""

orphanRemoval

public abstract boolean orphanRemoval
(Дополнительный), применить Ли удалить работу к объектам, которые были удалены из отношения и располагать каскадом удалить работу к тем объектам.

С тех пор:
Персистентность Java 2.0
Значение по умолчанию:
ложь


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41


Spec-Zone.ru - all specs in one place



free hit counter