Ответ
Основными технологиями были JDBC для низкоуровневых операций и Hibernate в качестве ORM-фреймворка.
JDBC (Java Database Connectivity) использовался для прямых, оптимизированных запросов, особенно там, где требовался полный контроль над SQL или производительность:
try (Connection conn = DriverManager.getConnection(url, user, pass);
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?")) {
stmt.setInt(1, userId);
ResultSet rs = stmt.executeQuery();
// Обработка ResultSet
}
- Почему JDBC: Для batch-операций, сложных отчетов или когда ORM генерирует неэффективный SQL.
Hibernate применялся для объектно-реляционного отображения (ORM) и работы со сложными доменными сущностями:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// Геттеры и сеттеры
}
// Использование в DAO/сервисе
User user = session.get(User.class, userId);
- Почему Hibernate: Для ускорения разработки, обеспечения декларативного управления транзакциями (
@Transactional), кэширования и работы со связями между сущностями (one-to-many, many-to-many).
Дополнительно использовался Spring Data JPA для создания репозиториев по шаблону, что еще больше сокращало объем шаблонного кода.