Hibernate Flashcards
What is ORM?
ORM (Object-Relational Mapping) свързва Java обекти с таблици в база данни, така че да работиш с базата данни чрез обекти.
What are the core components and terms in Hibernate?
- Configuration
- Session
- Session Factory
- Persistent class
- Transaction
- Entity
- ## HQL
What is a transaction, and why do we need it?
Transaction е поредица от операции в базата, които трябва да се извършат заедно. Нужна е, за да сме сигурни, че данните се обработват правилно и без грешки.
How to implement data access using Hibernate?
Използваш Session за отваряне на връзка с базата, създаваш Query за извличане или записване на данни, и затваряш сесията.
What is the difference between the relational mapping annotations?
Анотациите като @OneToOne, @ManyToOne, @OneToMany, и @ManyToMany показват различни видове връзки между обектите.
How to implement the annotations in our classes?
Поставяш анотациите върху полетата на класовете, за да определиш връзките между тях. Пример: @OneToOne или @ManyToOne на съответното поле.
What is the difference between Uni and Bi-directional relation?
Uni-directional: Само един обект знае за връзката.
Bi-directional: И двата обекта знаят за връзката.
What is the difference between lazy and eager fetch types?
Lazy: Зарежда данните само когато е нужно.
Eager: Зарежда данните веднага.
How many ways are there to access an intermediate DB table with Hibernate?
- @ManyToMany с Join Table: Автоматично управление на междинната таблица.
- Персистентен клас за междинната таблица: Създаване на отделен клас за междинната таблица.
- @OneToMany и @ManyToOne: Използване на единично-към-много отношения за управление на сложни връзки.