O que é uma sessão de banco de dados?

Eu entendo uma compreensão geral do conceito de uma transação de banco de dados. Nós acessamos um banco de dados dentro da transação para garantir as propriedades do ACID.

No Hibernate existe um conceito chamado sessão. Qual é o uso de uma sessão? Quando o acesso ao banco de dados deve acontecer em duas sessões e não na mesma sessão?

Para explicar mais, vi o código de hibernação que

recebe uma sessão de uma fábrica de sessãoabre uma sessãocomeça uma transaçãoconfirma a transaçãofecha a sessão

O que eu preciso saber é qual é a importância de uma sessão aqui? Por que não ter algo como uma fábrica de transações, começar transações e confirmar transações?

questionAnswers(2)

yourAnswerToTheQuestion