
SessionFactorySessionFactory (org.hibernate.SessionFactory) - threadsafe, immutable кэш откомпилированных маппинг для одной DB.

SessionSession (org.hibernate.Session) - однопоточный, короткоживущий объект
Является посредником между приложением и хранилищем долгоживущих объектов.

SessionОбъект, являющийся посредником между приложением и базой данных
По сути – обёртка вокруг JDBC-соединения
Содержит набор методов для получения/сохранения/удаления объектов
Также является кэшем для долгоживущих объектов
SessionTransient Objects and Collections - временные Объекты и Коллекции. Экземпляры долгоживущих (persistent) классов, которые в данный момент не ассоциированы с сессией (Session).

TransactionTransaction (org.hibernate.Transaction) - транзакция. Опциональный, однопоточный, короткоживущий объект, используется приложением для указания атомарной единицы выполняемой работы (atomic unit of work).

TransactionFactoryTransactionFactory (org.hibernate.TransactionFactory) - фабрика транзакций. Опциональная фабрика для экземпляров класса Transaction. Это внутренний объект Hibernate, он недоступен для приложения, но может быть расширен/реализован разработчиком.

ConnectionProviderConnectionProvider (org.hibernate.engine.jdbc.connections.spi.ConnectionProvider) - поставщик соединений. Опциональная фабрика и пул для JDBC-соединений. Абстрагирует приложение от нижележащих объектов Datasource или DriverManager.


