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


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

Примененный к персистентное поле или свойство объекта class или отображенный суперкласс, чтобы обозначить составной первичный ключ, который является встраиваемым class. Встраиваемый class должен быть аннотирован как Embeddable.

Должен быть только один EmbeddedId аннотация и нет Id аннотация, когда EmbeddedId аннотация используется.

AttributeOverride аннотация может использоваться, чтобы переопределить отображения столбца, объявленные в пределах встраиваемого class.

MapsId аннотация может использоваться в соединении с EmbeddedId аннотация, чтобы определить полученный первичный ключ.

Если у объекта есть полученный первичный ключ, AttributeOverride аннотация может только использоваться, чтобы переопределить те атрибуты встроенного идентификатора, которые не соответствуют отношению к родительскому объекту.

Отображения отношения, определенные в пределах встроенного идентификатора class, не поддерживаются.

    Example 1:

    @EmbeddedId
    protected EmployeePK empPK;


    Example 2:

    @Embeddable
    public class DependentId {
       String name;
       EmployeeId empPK;   // corresponds to primary key type of Employee
    }

    @Entity
    public class Dependent {
       // default column name for "name" attribute is overridden
       @AttributeOverride(name="name", @Column(name="dep_name"))
       @EmbeddedId DependentId id;
       ...
       @MapsId("empPK")
       @ManyToOne Employee emp;
    }
 

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



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

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

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


Spec-Zone.ru - all specs in one place



free hit counter