Встречается на собеседованиях • сегодня
Как обеспечить поток для прочтения из базы данных в реляционных базах данных
Для потокового чтения из реляционных БД в Java используйте `ResultSet` с настройкой `TYPE_FORWARD_ONLY` и `CONCUR_READ_ONLY`, а также `setFetchSize()` для управления размером выборки.
Пример с JDBC:
```java
try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement(
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY)) {
stmt.setFetchSize(100); // Будет подгружать по 100 записей
ResultSet rs = stmt.executeQuery("SELECT * FROM large_table");
while (rs.next()) {
// Обработка записи
}
}
```
Для Spring Data JPA:
```java
@QueryHints(@QueryHint(name = "org.hibernate.fetchSize", value = "100"))
@Query("SELECT e FROM Entity e")
Stream streamAll();
```
Ключевые моменты:
- Не держите соединение открытым слишком долго
- Обрабатывайте данные порциями
- Закрывайте ресурсы в `try-with-resources`

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