Файл: 1. Что такое Maven Для чего он нужен Как добавлять в проект библиотеки без него.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 401
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
validate: Hibernate проверит, совпадают ли имена и типы колонок и полей в базе и в аннотациях. (Только проверяет соответствие схемы базы данных маппингу Hibernate, не создавая или обновляя таблицы в базе данных. Это самый частый режим.)
none: Hibernate вообще ничего не будет делать. Если где-то база не совпадает с ожиданием, то будут сыпаться ошибки во время выполнения запросов.
(hibernate.hbm2ddl.auto Автоматически проверяет или экспортирует DDL схемы в базу данных при создании;
drop - Схема базы данных будет удалена и создана впоследствии;
Если дать какое-либо другое значение этому свойству (скажем, abc), или оно просто остается пустым. Это показывает следующее поведение:
-Если схема отсутствет в БД: - Создает схему
-Если схема присутствует в БД: - обновите схему.)
19. Требования JPA к Entity-классам? Не менее пяти.
1) Должен быть отмечен аннотацией @Entity (или описан в XML файле конфигурации JPA);
2) Должен содержать public или protected конструктор без аргументов (он также может иметь конструкторы с аргументами);
3) Должен быть классом верхнего уровня (top-level class) не вложенный;
4) Не может быть enum или интерфейсом;
5) Не может быть финальным классом (final class);
6) Не может содержать финальные поля или методы, если они участвуют в маппинге;
9) Должен содержать первичный ключ, то есть атрибут или группу атрибутов, которые уникально определяют запись этого Enity класса в базе данных.
7) Если объект Entity класса будет передаваться по значению как отдельный объект, (например через удаленный интерфейс), он так же должен реализовывать Serializable интерфейс;
8) Поля Entity класса должны быть напрямую доступны только методам самого Entity класса и не должны быть напрямую доступны другим классам, использующим этот Entity (
private, protected или package-private).
(Другие классы должны обращаться только к методам getter/setter).
20. Жизненный цикл Entity в Hibernate? Рассказать.
1) Transient (новый) - Объект создан, но ещё не связан с базой данных (ни с одной сессией Hibernate) и не имеет первичного ключа.
Объект-сущность находится в этом состоянии, когда он создается оператором new().
Поле Id у них не должно быть заполнено, иначе объект имеет состояние detached;
2) Persistent (управляемый) - Объект сохранен в базу данных и имеет первичный ключ.
Объект в данном состоянии (хранимая сущность) присоединен к конкретной сессии и взаимодействует с БД. При работе с объектом данного типа в рамках транзакции все изменения объекта записываются в базу (при вызове метода commit() транзакции или при выполнении автоматической синхронизации состояний в Hibernate.);
3) Detached (отдельный) - объект в данном состоянии отсоединён от сессии и может существовать или не существовать в БД.
(Объект-сущность всё ещё содержит данные из базы данных.)
(Объект-сущность все ещё отслеживается фреймворком Hibernate и может быть снова связан с сессией при необходимости.);
4) Removed: Состояние, когда сущность ожидает удаления из базы данных.
Как с помощью ResultSet получить данные из 2 строки 2 колонки таблицы?