Проблемы с аннотацией Transactional в SpringData.

  Управление транзакциями в SpringData осуществляется декларативно. Для декларативного управления используется аннотация @Transactional. Эта аннотация ставится над методом или над классом. Последнее равнозначно пометке этой аннотацией всех методов. Класс, в котором используется @Transactional, должен быть помечен аннотацией @Component или @Controller или @Service или аналогичными. Это необходимо для того, чтобы Spring формировал объекты этого класса как […]

HIBERNATE. Содержимое кэша сессии (first-level persistence context cache)

У каждой сессии HIBERNATE имеется свой КЭШ первого уровня или по-другому контекст персистности. Этот кэш предназначен для отслеживания изменения состояния персистных объектов (entity и collections), с тем чтобы в нужный момент автоматически перенести эти изменения в БД. Впрочем, для сессий типа StatelessSession персистность не поддерживается и поэтому у такой сессии кэша первого уровня нет. Объект […]

HIBERNATE. Трансляция HQL в SQL

Запросы к БД в HIBERNATE можно писать, в частности, на HQL. Эти запросы HIBERNATE транслирует в SQL запрос, который передает на выполнение JDBC. Текст транслированного sql запроса, при его выполнении, можно для отладки выводить в консоль или лог файл, если задать в конфигурационном файле соответствующий параметр. Но часто, в целях, например, ускорения отладки HQL запроса, […]

java8. Пишем SQL запросы к java коллекциям. (часть I).

  java8. Пишем SQL запросы к java коллекциям.  (часть I). Рассматривается возможность реализации в java8 синтаксиса SQL запросов (Select) для работы с java коллекциями записей, имитирующими таблицы БД. Позиционирование задачи В интернете можно найти много статей и библиотек, связанных с java и SQL. Чтобы не путать читателя, сначала о том, чему именно посвящена данная статья. Основной […]