Встречается на собеседованиях • сегодня
Какими обладаешь знаниями в Hibernate
Hibernate — это ORM-фреймворк для Java, который упрощает работу с реляционными БД. Основные знания:
- **Маппинг сущностей**: аннотации `@Entity`, `@Table`, `@Id`, `@Column`, `@OneToMany`, `@ManyToOne` и др.
- **Сессии и транзакции**: работа с `SessionFactory`, `Session`, управление транзакциями (`@Transactional`).
- **HQL и Criteria API**: написание запросов, `createQuery()`, `CriteriaBuilder`.
- **Кэширование**: 1-го и 2-го уровней (`@Cacheable`).
- **Ленивая загрузка**: `FetchType.LAZY/EAGER`, проблемы N+1.
Пример маппинга:
```java
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "username")
private String name;
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
private List orders;
}
```
Также знаю оптимизацию запросов, работу с `@Embeddable`, `@Enumerated`, `@Temporal` и миграции через Flyway/Liquibase.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы