![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
В чем разница между сессией и транзакцией хибернейт, смотря на них как на unit of work? И зачем вообще нам нужен механизм сессий? Извиняюсь, если уже обсуждалось, не нашел ответа(
|
|||
|
||||
| Quester82 |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Если коротко, то сессия это логическая единица работы с БД, которая включает в себя одну или более реальных транзакций с базе данных.
Внутри хибернейта сессия нужна для того чтобы реализовать работу с persistent инстансами (сущностями). Чтобы далеко не бегать, вот тебе ответ прямо из API Hinbernate.
org.hibernate.Transaction И про транзакции
Это сообщение отредактировал(а) Quester82 - 26.10.2009, 12:20 |
||||
|
|||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Хотелось бы более детальное объяснение, почему транзакций недостаточно для реализации persistence.
|
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Ап. Никто не может ответить?
|
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
может следует почитать документацию ?
Ведь ответ очень легкий. Если прочитаете и не поймете, пишите сюда - обьясню |
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Я читал эту статью ранее. Честно говоря все равно непонятно :(
|
|||
|
||||
| baph |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.10.2009 Репутация: нет Всего: нет |
Пишу приложение на Идее для раюоты с бд на Постгрес, вроде бы тюторы разбирал, читал про Котов, сделал все конфиг-файлы, пропертиесы, хмл и все остально, библиотеки подключил, но не понял про пул соединений (connection pool). Поясните, что, какой сервер нужно запустить, чтобы настроить соединение с бд. Я вроде бы в hibernate.properties все прописал, классы написалЮ, а в бд изменений не происходит. Стал читать про коннектион пул, но так и не понял.
|
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 11 Всего: 77 |
MaxPayneC, сессия - это такой колышек, к которому привязаны козы(объекты), которых вывел из сарая пастух(достал из базы).
Это и отличает POJO объекты от хибернейт - про простой(поджо) объект никто кроме тебя не знает. Достал ты его из БД, изменил, сохранил, удалил - это сугубо твоё дело и никакой энтити менеджер не знает и не подозревает что этот объект как-то связан с ДБ и что это вообще за объект А если ты извлёк хибернейт объект или создал ентити объект и сохранил его в БД - он привязывается к хибернейт сессии(тоже объект, а не что-то абстрактное Это кагбэ так: Есть человечек. Он сам по себе, его знают только родители и он нигде не числится и не фигурирует. Хоть умри под забором, хоть миллион найди - пофиг. Но если его набирают в школьный класс(привязывают к сессии) он становится школьником(хибернейт объектом), а не просто обычным человечком. Теперь о нём известно из списков класса. Теперь он попадёт под вакцинацию от гриппа, теперь ему выдадут проездной, теперь его отправят на субботник вместе с остальными объект... школьниками А вот транзакция - это неразрывный кусок работы, который с ними произойдёт. Например: Целый класс собрали у ворот, посадили в автобус, повезли на экскурсию, выгуляли, привезли обратно, выгрузили. В любом случае их или свозят полноценно(коммит) или вернут автобус назад(роллбэк). Потому что нельзя детей за городом бросить, будет по шапке И в то же время можно производить с этим человечком действия, не вовлекая его в транзакцию с иными учениками и автобусом(класс подмёл, почистил зубы) А если детачнуть объект(выгнать из школы) - он опять станет самодостаточным POJO, о котором никому ничего и дела никому нет -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
chief39,
Блестящее объяснение! (Извините за оффтопик) -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Благодарю) теперь стало действительно яснее.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |