Entity Persistence. Состояние сущности, обладающее персистентностью, представляется в виде: персистентных полей, персистентных свойств (в стиле JavaBeans). Привязка к таблице производится с помощью специальных аннотаций.Привязка полей и свойств производится с помощью специальных аннотаций.
Доступ к данным: Осуществляется через поля (изнутри класса) или через методы доступа (изнутри и снаружи класса), Методы доступа должны представлять собой свойства в стиле JavaBeans, Типы полей и свойств ограничены (это очевидно следует из соответствия типов Java типам БД), Другие классы сущностей являются корректными типами полей и свойств, Если поле или свойство имеет вид коллекции, то допускается использование типизированных коллекций.
Привязка таблицы. Имя таблицы может быть определено автоматически. Если имя класса не совпадает с именем таблицы, используется аннотация @Table. Если класс представляет две таблицы, используется аннотация @SecondaryTable. Если класс представляет более двух таблиц, используется аннотация @SecondaryTables.
Примеры привязки таблиц @Entity public class Customer { ... } @Entity @Table(name="DLVY_SVC") public class DeliveryService { ... } @Entity @Table(name="EMPL") @SecondaryTable(name="EMP_SALARY", pkJoinColumns=@PrimaryKeyJoinColumn referencedColumnName="ID")) public class Employee implements Serializable { ... } |
@Entity @Table(name="EJB_ORDER_PART") @SecondaryTable(name="EJB_ORDER_PART_DETAIL", pkJoinColumns={ @PrimaryKeyJoinColumn(name="PARTNUMBER", @PrimaryKeyJoinColumn(name="REVISION", }) public class Part { ... }
|
Привязка полей и свойств.Имя столбца может быть определено автоматически. Если имя столбца не совпадает с именем поля или свойства, то применяется аннотация @Column. Персистентными считаются все поля и свойства, не помеченные аннотацией @Transient или модификатором transient.