Spec-Zone .ru
спецификации, руководства, описания, API


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


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

Определяет много-оцененную ассоциацию с помощью разнообразия "многие многим".

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

Объединяющая таблица для отношения, если не принимал значение по умолчанию, определяется на стороне обладания.

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


    Example 1:

    // In Customer class:

    @ManyToMany
    @JoinTable(name="CUST_PHONES")
    public Set<PhoneNumber> getPhones() { return phones; }

    // In PhoneNumber class:

    @ManyToMany(mappedBy="phones")
    public Set<Customer> getCustomers() { return customers; }

    Example 2:

    // In Customer class:

    @ManyToMany(targetEntity=com.acme.PhoneNumber.class)
    public Set getPhones() { return phones; }

    // In PhoneNumber class:

    @ManyToMany(targetEntity=com.acme.Customer.class, mappedBy="phones")
    public Set getCustomers() { return customers; }

    Example 3:

    // In Customer class:

    @ManyToMany
    @JoinTable(name="CUST_PHONE",
        joinColumns=
            @JoinColumn(name="CUST_ID", referencedColumnName="ID"),
        inverseJoinColumns=
            @JoinColumn(name="PHONE_ID", referencedColumnName="ID")
        )
    public Set<PhoneNumber> getPhones() { return phones; }

    // In PhoneNumberClass:

    @ManyToMany(mappedBy="phones")
    public Set<Customer> getCustomers() { return customers; }
 

С тех пор:
Персистентность Java 1.0
См. Также:
JoinTable

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

targetEntity

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

Значения по умолчанию к параметризованному типу набора, когда определено используя обобщения.

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

каскад

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

Когда целевой набор является a java.util.Map, cascade элемент применяется к значению карты.

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

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

выборка

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

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

mappedBy

public abstract java.lang.String mappedBy
Поле, которому принадлежит отношение. Требуемый, если отношение не однонаправлено.

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


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

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

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

free hit counter