Назад к вопросам
Senior
5
Как работаешь с базой данных? Hibernate/JPA — как используешь?
Компании, где спрашивали
Velenes.Tech
Ответ от нейросети
sobes.tech AI
При работе с базой данных через Hibernate/JPA я обычно:
- Использую Entity-классы для отображения таблиц базы данных.
- Применяю аннотации JPA (@Entity, @Table, @Id и др.) для определения маппинга.
- Управляю сессиями через EntityManager или SessionFactory.
- Использую транзакции для обеспечения атомарности операций, обычно через @Transactional.
- Пишу JPQL или Criteria API для сложных запросов, чтобы оставаться в рамках ORM.
- Оптимизирую загрузку данных с помощью LAZY/EAGER fetch стратегий.
- Внимательно слежу за N+1 проблемами и применяю fetch joins или batch fetching.
- Для сложных или специфичных запросов могу использовать native SQL.
Пример использования:
@Entity
public class User {
@Id
private Long id;
private String name;
// геттеры и сеттеры
}
// В сервисе
@Transactional
public User getUser(Long id) {
return entityManager.find(User.class, id);
}