Проект

Общее

Профиль

JPA » История » Версия 1

Александр Александров, 22.04.2019 15:19

1 1 Александр Александров
h1. JPA
2
3
h2. Вопросы
4
5
# Что такое JPA?
6
# Из чего состоит JPA?
7
# В чем её отличие JPA от Hibernate?
8
# В чем её отличие JPA от JDO?
9
# Можно ли использовать JPA c noSQL базами?
10
# Что такое JPQL (Java Persistence query language) и чем он отличается от SQL?
11
# Что означает полиморфизм (polymorphism) в запросах JPQL (Java Persistence query language) и как его «выключить»?
12
# Что такое Criteria API и для чего он используется?
13
# Что такое Entity?
14
# Может ли не Entity класс наследоваться от Entity класса?
15
# Может ли Entity класс наследоваться от других Entity классов?
16
# Может ли Entity быть абстрактным классом?
17
# Может ли Entity класс наследоваться от не Entity классов (non-entity classes)?
18
# Какие требования JPA к Entity классам вы можете перечислить (не менее шести требований)?
19
# Что такое атрибут Entity класса в терминологии JPA?
20
# Какие два типа элементов есть у Entity классов. Или другими словами перечислите два типа доступа (access) к элементам Entity классов.
21
# Какие типы данных допустимы в атрибутах Entity класса (полях или свойствах)?
22
# Какие типы данных можно использовать в атрибутах, входящих в первичный ключ
23
# Entity класса (составной или простой), чтобы полученный первичный ключ мог использоваться для любой базы данных? А в случае автогенерируемого первичного ключа (generated primary keys)?
24
# Что такое встраиваемый (Embeddable) класс?
25
# Может ли встраиваемый (Embeddable) класс содержать другой встраиваемый (Embeddable) класс?
26
# Может ли встраиваемый (Embeddable) класс содержать связи (relationship) с другими Entity или коллекциями Entity? Если может, то существуют ли какие-то ограничение на такие связи (relationship)?
27
# Какие требования JPA устанавливает к встраиваемым (Embeddable) классам?
28
# Какие типы связей (relationship) между Entity вы знаете (перечислите восемь типов, либо укажите четыре типа связей, каждую из которых можно разделить ещё на два вида)?
29
# Что такое Mapped Superclass?
30
# Какие два типа fetch стратегии в JPA вы знаете?
31
# Какие три типы стратегии наследования мапинга (Inheritance Mapping Strategies) описаны в JPA?
32
# Что такое EntityManager и какие основные его функции вы можете перечислить?
33
# Какие четыре статуса жизненного цикла Entity объекта (Entity Instance’s Life Cycle) вы можете перечислить?
34
# Как влияет операция merge на Entity объекты каждого из четырех статусов?
35
# Как влияет операция remove на Entity объекты каждого из четырех статусов?
36
# Как влияет операция persist на Entity объекты каждого из четырех статусов?
37
# Как влияет операция refresh на Entity объекты каждого из четырех статусов?
38
# Как влияет операция detach на Entity объекты каждого из четырех статусов?
39
# Для чего нужна аннотация Access?
40
# Для чего нужна аннотация Basic?
41
# Какой аннотациями можно перекрыть связи (override entity relationship) или атрибуты, унаследованные от суперкласса, или заданные в embeddable классе при использовании этого embeddable класса в одном из entity классов и не перекрывать в остальных?
42
# Какие аннотации служит для задания класса преобразования basic атрибута Entity в другой тип при сохранении/получении данных их базы (например, работать с атрибутом Entity boolean типа, но в базу сохранять его как число)?
43
# Какой аннотацией можно управлять кешированием JPA для данного Entity?
44
# Какой аннотацией можно задать класс, методы которого должен выполнится при определенных JPA операциях над данным Enitity или Mapped Superclass (такие как удаление, изменение данных и т.п.)?
45
# Для чего нужны callback методы в JPA? К каким сущностям применяются аннотации callback методов? Перечислите семь callback методов (или что тоже самое аннотаций callback методов).
46
# Какой аннотацей можно исключить поли и свойства Entity из маппинга (property or field is not persistent)?
47
# Какие аннотации служить для установки порядка выдачи элементов коллекций Entity?
48
# Какие шесть видов блокировок (lock) описаны в спецификации JPA (или какие есть значения у enum LockModeType в JPA)?
49
# Какие два вида кэшей (cache) вы знаете в JPA и для чего они нужны?
50
# Какие есть варианты настройки second-level cache (кэша второго уровня) в JPA или что аналогично опишите какие значения может принимать элемент shared-cachemode из persistence.xml?
51
# Как можно изменить настройки fetch стратегии любых атрибутов Entity для отдельных запросов (query) или методов поиска (Ùnd), то если у Enity есть атрибут с fetchType = LAZY, но для конкретного запроса его требуется сделать EAGER или наоборот?
52
# Каким способом можно получить метаданные JPA (сведения о Entity типах, Embeddable и Managed классах и т.п.)?
53
# Каким способом можно в коде работать с кэшем второго уровня (удалять все или определенные Entity из кеша, узнать закэшировался ли данное Entity и т.п.)?
54
# В чем разница в требованиях к Entity в Hibernate, от требований к Entity, указанных в спецификации JPA (см. вопрос 10)?
55
# Какая уникальная стратегия наследования есть в Hibernate, но нет в спецификации JPA?
56
# Какие основные новые возможности появились в спецификации JPA 2.1 по сравнению с JPA 2.0 (перечислите хотя бы пять-шесть новых возможностей)?
57
58
h2. Ответы
59
60
h3. Что такое JPA?
61
62
h3. Из чего состоит JPA?
63
64
h3. В чем её отличие JPA от Hibernate?
65
66
h3. В чем её отличие JPA от JDO?
67
68
h3. Можно ли использовать JPA c noSQL базами?
69
70
h3. Что такое JPQL (Java Persistence query language) и чем он отличается от SQL?
71
72
h3. Что означает полиморфизм (polymorphism) в запросах JPQL (Java Persistence query language) и как его «выключить»?
73
74
h3. Что такое Criteria API и для чего он используется?
75
76
h3. Что такое Entity?
77
78
h3. Может ли не Entity класс наследоваться от Entity класса?
79
80
h3. Может ли Entity класс наследоваться от других Entity классов?
81
82
h3. Может ли Entity быть абстрактным классом?
83
84
h3. Может ли Entity класс наследоваться от не Entity классов (non-entity classes)?
85
86
h3. Какие требования JPA к Entity классам вы можете перечислить (не менее шести требований)?
87
88
h3. Что такое атрибут Entity класса в терминологии JPA?
89
90
h3. Какие два типа элементов есть у Entity классов. Или другими словами перечислите два типа доступа (access) к элементам Entity классов.
91
92
h3. Какие типы данных допустимы в атрибутах Entity класса (полях или свойствах)?
93
94
h3. Какие типы данных можно использовать в атрибутах, входящих в первичный ключ
95
96
h3. Entity класса (составной или простой), чтобы полученный первичный ключ мог использоваться для любой базы данных? А в случае автогенерируемого первичного ключа (generated primary keys)?
97
98
h3. Что такое встраиваемый (Embeddable) класс?
99
100
h3. Может ли встраиваемый (Embeddable) класс содержать другой встраиваемый (Embeddable) класс?
101
102
h3. Может ли встраиваемый (Embeddable) класс содержать связи (relationship) с другими Entity или коллекциями Entity? Если может, то существуют ли какие-то ограничение на такие связи (relationship)?
103
104
h3. Какие требования JPA устанавливает к встраиваемым (Embeddable) классам?
105
106
h3. Какие типы связей (relationship) между Entity вы знаете (перечислите восемь типов, либо укажите четыре типа связей, каждую из которых можно разделить ещё на два вида)?
107
108
h3. Что такое Mapped Superclass?
109
110
h3. Какие два типа fetch стратегии в JPA вы знаете?
111
112
h3. Какие три типы стратегии наследования мапинга (Inheritance Mapping Strategies) описаны в JPA?
113
114
h3. Что такое EntityManager и какие основные его функции вы можете перечислить?
115
116
h3. Какие четыре статуса жизненного цикла Entity объекта (Entity Instance’s Life Cycle) вы можете перечислить?
117
118
h3. Как влияет операция merge на Entity объекты каждого из четырех статусов?
119
120
h3. Как влияет операция remove на Entity объекты каждого из четырех статусов?
121
122
h3. Как влияет операция persist на Entity объекты каждого из четырех статусов?
123
124
h3. Как влияет операция refresh на Entity объекты каждого из четырех статусов?
125
126
h3. Как влияет операция detach на Entity объекты каждого из четырех статусов?
127
128
h3. Для чего нужна аннотация Access?
129
130
h3. Для чего нужна аннотация Basic?
131
132
h3. Какой аннотациями можно перекрыть связи (override entity relationship) или атрибуты, унаследованные от суперкласса, или заданные в embeddable классе при использовании этого embeddable класса в одном из entity классов и не перекрывать в остальных?
133
134
h3. Какие аннотации служит для задания класса преобразования basic атрибута Entity в другой тип при сохранении/получении данных их базы (например, работать с атрибутом Entity boolean 
135
типа, но в базу сохранять его как число)?
136
137
h3. Какой аннотацией можно управлять кешированием JPA для данного Entity?
138
139
h3. Какой аннотацией можно задать класс, методы которого должен выполнится при определенных JPA операциях над данным Enitity или Mapped Superclass (такие как удаление, изменение 
140
данных и т.п.)?
141
142
h3. Для чего нужны callback методы в JPA? К каким сущностям применяются аннотации callback методов? Перечислите семь callback методов (или что тоже самое аннотаций callback методов).
143
144
h3. Какой аннотацей можно исключить поли и свойства Entity из маппинга (property or field is not persistent)?
145
146
h3. Какие аннотации служить для установки порядка выдачи элементов коллекций Entity?
147
148
h3. Какие шесть видов блокировок (lock) описаны в спецификации JPA (или какие есть значения у enum LockModeType в JPA)?
149
150
h3. Какие два вида кэшей (cache) вы знаете в JPA и для чего они нужны?
151
152
h3. Какие есть варианты настройки second-level cache (кэша второго уровня) в JPA или что аналогично опишите какие значения может принимать элемент shared-cachemode из persistence.xml?
153
154
h3. Как можно изменить настройки fetch стратегии любых атрибутов Entity для отдельных запросов (query) или методов поиска (Ùnd), то если у Enity есть атрибут с fetchType = LAZY, но 
155
для конкретного запроса его требуется сделать EAGER или наоборот?
156
157
h3. Каким способом можно получить метаданные JPA (сведения о Entity типах, Embeddable и Managed классах и т.п.)?
158
159
h3. Каким способом можно в коде работать с кэшем второго уровня (удалять все или определенные Entity из кеша, узнать закэшировался ли данное Entity и т.п.)?
160
161
h3. В чем разница в требованиях к Entity в Hibernate, от требований к Entity, указанных в спецификации JPA (см. вопрос 10)?
162
163
h3. Какая уникальная стратегия наследования есть в Hibernate, но нет в спецификации JPA?
164
165
h3. Какие основные новые возможности появились в спецификации JPA 2.1 по сравнению с JPA 2.0 (перечислите хотя бы пять-шесть новых возможностей)?
Go to top