|
|
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczУ автора проблема в том что он транзакцию и сессию создаёт в DAO, а нужно на уровень выше, но не так глобально, как Open Session In View. замечательно. Тогда почему, спринг управляет транзакциями декларативно. Почему программист должен руками управлять связкой: СессияХибера ---СессияHTTP. Если время жизни объектов явно выше одного запроса HTTP. 3. Тут кто-то говорил, что сессиями программисту лень заниматься. Они у него ВНИЗУ автоматом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 12:53:05 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
автор Нужно ли отключать Кеширование Hibernate? Обязательно. Если данных мало и запросы хорошо ложатся в дисковый кэш СУБД, то СУБД без проблем выдерживает несколько десятков тысяч запросов в секунду на ноутбуке девелопера, и извращения с кэшем не нужны. Если данных много, то скажется, во-первых, жуткий оверхед по памяти, который в яве присутствует на каждый объект (сравните с ораклом, где даже целые числа имеют переменную длину для экономии каждого байта), а во-вторых, сборщик мусора будет все время перебирать этот кэш, что приведет к неслабым тормозам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 12:54:08 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, хорошо бы конкретно, т.к. AFAIK по умолчанию 1кэш включен. Второй выключен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 12:56:19 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
1кэш включен. Второй выключен Я второй имел в виду, первый выключить невозможно же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:01:18 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Petro123Тогда почему, спринг управляет транзакциями декларативно. Управляет транзакциями разработчик. Декларативное управление лишь один из инструментов. Вопрос в стиле "почему вода мокрая"? Petro123Почему программист должен руками управлять связкой: СессияХибера ---СессияHTTP. Почему программист вообще что-то должен делать? Наверное потому что ORM и Web это совершенно разные технологии. И каждый склеивает их как хочет. Не нравится Spring-клей? Берем Seam-клей или EJB-клей. Не нравится ничего готового? Пишем руками. Это везде так. Petro123Если время жизни объектов явно выше одного запроса HTTP. 8) Время жизни объектов не важно. Время жизни сущностей в любом случае больше HTTP запроса. Petro1233. Тут кто-то говорил, что сессиями программисту лень заниматься. Они у него ВНИЗУ автоматом. Кто говорил? Где говорил? Именно такими словами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:02:28 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ1кэш включен. Второй выключен Я второй имел в виду, первый выключить невозможно же. +1. Тоже читал, что второй часто в выкл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:02:30 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro123тогда он никогда не увидит данные соседа после коммита. Кто-то совсем запутался в архитектурах. Кэш один на сервер. Апдейты соседа его чудесно обновляют. Нет никакого кэша на юзера. На кластере кеш чудесно реплицируется, так что даже в распределенной системе актуален. Апдейтов не видно только если сосед, с**а, меняет прямо в базе, мимо сервера. Так получиться что 2 пользователя могут одновременно редактировать один объект? Как я понял автора темы, ему требуется что-то типа пессимистической блокировки на продолжительное время. Так что как по мне, лучше загрузить detached объект в HTTP сессию, редактировать его там, а при сохранение проверять версию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:06:28 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪОбязательно. Если данных мало и запросы хорошо ложатся в дисковый кэш СУБД, то СУБД без проблем выдерживает несколько десятков тысяч запросов в секунду на ноутбуке девелопера, и извращения с кэшем не нужны. Угу, а выполнение SQL запросов и передача данных между Java сервером и СУБД - бесплатная операция. Йуный джавистЪЕсли данных много, то скажется, во-первых, жуткий оверхед по памяти Кеширование это всегда "жуткий оверхед по памяти". Кеш с нулевым размером ещё пока не изобрели. Впрочем, как и вечный двигатель. Йуный джавистЪкоторый в яве присутствует на каждый объект (сравните с ораклом, где даже целые числа имеют переменную длину для экономии каждого байта) Планка памяти стоит меньше чем день работы Java программиста. А в облаке, возможно, ещё дешевле. Йуный джавистЪа во-вторых, сборщик мусора будет все время перебирать этот кэш, что приведет к неслабым тормозам. Проблеме уже много лет и она успешно решается. Off heap кеш, G1 сборщик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:07:39 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
rdmКак я понял автора темы, ему требуется что-то типа пессимистической блокировки на продолжительное время. Так что как по мне, лучше загрузить detached объект в HTTP сессию, редактировать его там, а при сохранение проверять версию. Нет. Автор темы лишь спрашивает об этом подходе, как о варианте решения своих проблем. Это не значит что оно ему нужно с точки зрения бизнес-требований. Скорее всего вообще не нужно, потому что уже что-то написано и работает без этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:09:49 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro1233. Тут кто-то говорил, что сессиями программисту лень заниматься. Они у него ВНИЗУ автоматом. Кто говорил? Где говорил? Именно такими словами? аффтар и говорил) 14121686 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:10:49 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Почему скажем просто нельзя добавить поле boolean lock в таблицу и установкой этого поля блокировать объект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:11:44 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Это не по теме, просто интересно. Вместо всяких Select for update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:13:25 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
rdmSelect for update это _один из методов_ блокировки самой СУБД. Это тоже галка в системных таблицах и снимается САМОЙ субд на коммит АВТОМАТОМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:22:17 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Petro123rdmSelect for update это _один из методов_ блокировки самой СУБД. Это тоже галка в системных таблицах и снимается САМОЙ субд на коммит АВТОМАТОМ. Я про случай, когда объект нужно блокировать на более чем одну транзакцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:24:12 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
rdm, тема ошибки Lazy из за того что "кто-то" закрыл сессию, а автоматом она не открывается, и многопользовательская работа (кеш) - разные вопросы. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:25:28 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
rdmЯ про случай, когда объект нужно блокировать на более чем одну транзакцию. 7 страниц)) Флейм для пользы - Как хранить Состояние в 3-х звенке или Есть ли SpringСостояние? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:28:01 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Кеширование это всегда "жуткий оверхед по памяти". Кеш с нулевым размером ещё пока не изобрели. Впрочем, как и вечный двигатель Я имел в виду, что в яве строка из одного символа занимает, кажется 30 байт, или около того. Угу, а выполнение SQL запросов и передача данных между Java сервером и СУБД - бесплатная операция. Практически бесплатная. Дорогой ресурс - дисковый ввод-вывод и конкуренция за лэтчи (которая никуда не исчезнет в варианте с явой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:33:19 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Проблеме уже много лет и она успешно решается. Off heap кеш, G1 сборщик. И еще много лет будет успешно решаться. А что, есть какой-то работающий off heap кэш для явы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:38:45 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА что, есть какой-то работающий off heap кэш для явы? Помимо BigMemory? Любое внятное NoSQL хранилище. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:40:18 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Помимо BigMemory? Любое внятное NoSQL хранилище. Вы предлагаете, имея оракл, поставить впереди него какое-то NoSQL хранилище? Это мне напоминает анекдот про крестьян, которым показали трактор, объяснили, а они отвечают: - Мы поняли, это все хорошо, внутреннее сгорание, бензин, но лошадь-то куда запрягать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:47:00 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪПомимо BigMemory? Любое внятное NoSQL хранилище. Вы предлагаете, имея оракл, поставить впереди него какое-то NoSQL хранилище? Это мне напоминает анекдот про крестьян, которым показали трактор, объяснили, а они отвечают: - Мы поняли, это все хорошо, внутреннее сгорание, бензин, но лошадь-то куда запрягать? Аналогия не уместна. Можете сколько угодно писать в каждой теме Java - говно, Oracle RDBMS - рулит. Сомневаюсь что автору темы это интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:55:46 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Можете сколько угодно писать в каждой теме Java - говно Ни в одной теме не писал такого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 13:56:31 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
по поводу кеша первого уровня. Можно сколько угодно спорить о его нужности. Но пока программист не напишет волшебную фразу - сбросить в БД. А параллельный юзверь - перечатать из БД, изменения друг друга они не увидят. Ведь так? Т.к. хранилище всё таки в БД, а не в хибере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 14:11:39 |
|
||
|
Использование Hibernate Serssion в MVC Spring3.
|
|||
|---|---|---|---|
|
#18+
Petro123по поводу кеша первого уровня. Если разговор всё ещё о Hibernate, то "кеш первого уровня." это Session. Время жизни которого, в большинстве случаев, одна транзакция. Petro123Можно сколько угодно спорить о его нужности. Это не нужность. Это неизбежность. Или ты таки о втором уровне ? Petro123Но пока программист не напишет волшебную фразу - сбросить в БД. А параллельный юзверь - перечатать из БД, изменения друг друга они не увидят. Ведь так? Т.к. хранилище всё таки в БД, а не в хибере. Разговор тракториста и мотоциклиста, блин. Юзеры не ходят в базу мимо кеша 2го уровня. Поэтому он всегда актуален. Программист не пишет волшебных фраз параллельно с доступом юзера к БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2013, 14:18:34 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38220239&tid=2129558]: |
0ms |
get settings: |
16ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
105ms |
get tp. blocked users: |
3ms |
| others: | 342ms |
| total: | 581ms |

| 0 / 0 |
