|
ORM vs sql
|
|||
---|---|---|---|
#18+
спс. Хочу найти точки соприкосновения Java \ Net. Хотя это "параллельные вселенные" ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2012, 22:47 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Petro123спс. Хочу найти точки соприкосновения Java \ Net. Хотя это "параллельные вселенные" Странные вещи говорите... . Кстати, сишарп (если вы про дотнет) также далёк от темы форума "ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM", как и ява. Вы в курсе, что ещё некоторое время назад был в моде J# ? А лет 7 назад браузеры (в т.ч. ИЕ) поставлялись вместе с JVM и своего рода JRE? Это было до тех пор, пока сун (тогда ещё сун, а не орасл) не разосралась со всем миром. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2012, 23:25 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Petro123- я с десктопа пришёл. Там есть Уровень изоляции, которого в ОРМ нету. Как быть? Написать хранимую процедуру и намапить её в схему. Использовать и радоваться. И веб тут не при чем. Petro123как вы делаете длинные транзакции. На Java их очень не любят и открещиваются Ничего ужасного - вызываете асинхронно серверный метод, не дожидаясь результата, отдаёте страничку обратно клиенту. Когда метод отрабатывает - ловите факт отработки в клиентском или серверном колбэке. Всё. Что может быть проще? Petro123МСУ, если у ОРМ есть 2 кэша, то можно ли выключить синхронизацию его и сделать "снимок". Т.е. писать в него CRUD а потом разом на 5 реквест либо в БД либо стереть с доски? По-русски, чё Вам нужно? А то получается Вы не в теме, пытаетесь спедалировать задачу, но выходит у Вас весьма криво. В результате - не можете объяснить по-человечески. Petro123МСУОткуда браться сессии? это сессия Хибера, а не HTTP. Я тоже был злой что они назвали одинаково :) Так я про асповую сессию и говорю, а не хиберовую. Причем тут "сессия хибера на реквест"? Я могут сессию хибера в асповую сессию положить, в кеш, в аппликейшен. При чем тут реквест-то? Во-вторых, во всех доках пишут, что хиберовая сессия должна быть как можно короче: поработали с БД и прибили. Поэтому пусть на реквест, в чем проблема-то? Нужно еще будет - еще раз создадим хиберовую сессию. А вот фабрику ISessionFactory нужно глобально кешить. От неё и порождать хиберовые сессии. Petro123МСУДля длительных операций - асинхронно отправляем транзакцию на сервер и возвращаем страницу: http://api.jquery.com/jQuery.ajax/ да. у меня на сайте это так и работает Ну так а в чём пыль-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2012, 23:42 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
ShSergeАлексей КЛучше написать в форум Asp.Net. Тут вопрос скорее по web чем про ОРМ. Это почему? И на вэбе и не на вэбе можно писать как на ОРМ, так и не на ОРМ. Вы не знали этого?Ну вопрос-то про веб а не про ОРМ. :-) Petro123- я с десктопа пришёл. Там есть Уровень изоляции, которого в ОРМ нету.Вроде как на десктопе уровней изоляции тоже нет. Они в БД и прочих хранилищах, поддерживающих транзакции. Не знаю как в явах и прочих, но в дотнетах есть довольно удобный ThreadStatic-контекст (класс TransactionScope ), позволяющий управлять транзакциями. А поскольку это контекст - ему пофиг через что Вы идёте в БД - через ОРМ или "врукопашную". При описании TransactionScope можно явно указать уровень изоляции (по дефолту - Serializable). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 06:15 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
ShSerge, ну почему, есть некоторые вещи мемебера "зы" которые я поддерживаю Можно и так сказать: "нафига мне ОРМ": - придётся вынести БЛ из БД на аппсервер в ОРМ и один из недостатков выше я написал - не всегда нужно маппить в классы, т.к. ГУИ бывает заточено на биндинг датасетов. и т.д. Я просто столкнулся с конкретной задаче. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 07:23 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
основной вопрос - знает тут кто NHibernate или будем про теорию? Я не против и про теорию. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 07:26 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Алексей КВроде как на десктопе уровней изоляции тоже нет. Они в БД и прочих хранилищах, поддерживающих транзакции. Не знаю как в явах и прочих, но в дотнетах есть довольно удобный ThreadStatic-контекст (класс TransactionScope ), позволяющий управлять транзакциями. А поскольку это контекст - ему пофиг через что Вы идёте в БД - через ОРМ или "врукопашную". При описании TransactionScope можно явно указать уровень изоляции (по дефолту - Serializable). я вижу только Вы меня поняли Т.е. по простому вы через этот контекст ходите? Или тут не программисты больше? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 07:37 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
если чисто по сабжу, то 2 необходимых условия ОРМ перед SQL: - необходимо бизнес-логика (БЛ) писать через ООП\Класы - клиентской части тоже нужен ООП\Классы (а не Контрол - Биндинг - DataSet) IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 07:41 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУPetro123- я с десктопа пришёл. Там есть Уровень изоляции, которого в ОРМ нету. Как быть? Написать хранимую процедуру и намапить её в схему. ==== я вынес всю БЛ в ОРМ. Мешать ХП с БЛ в ОРМ не очень хорошо. Petro123как вы делаете длинные транзакции. На Java их очень не любят и открещиваются Ничего ужасного - вызываете асинхронно серверный метод, ====== который идёт за данными в ОРМ? не дожидаясь результата, отдаёте страничку обратно клиенту. Когда метод отрабатывает - ловите факт отработки в клиентском или серверном колбэке. Всё. Что может быть проще? ===== это вы не о длинных, а об асинхронности. Не по теме. Petro123МСУ, если у ОРМ есть 2 кэша, то можно ли выключить синхронизацию его и сделать "снимок". Т.е. писать в него CRUD а потом разом на 5 реквест либо в БД либо стереть с доски? По-русски, чё Вам нужно? ===== ну, вот уже пробую 3 раунда. Прогресс есть. ТЗ выше по ссылке от заказчика. Petro123пропущено... это сессия Хибера, а не HTTP. Я тоже был злой что они назвали одинаково :) Так я про асповую сессию и говорю, а не хиберовую. ========== наконец то. Вот про это подробнее. Я так понял вы сессию HTTP называете асповой :) Причем тут "сессия хибера на реквест"? Я могут сессию хибера в асповую сессию положить ===== замечательно. У нас говорят, что нельзя. Т.к. сложный объект не сериализуемый. , в кеш, в аппликейшен. При чем тут реквест-то? Во-вторых, во всех доках пишут, что хиберовая сессия должна быть как можно короче: поработали с БД и прибили. Поэтому пусть на реквест, в чем проблема-то? ==== давайте не разбрасываться. Можем мы положить \ удлинить хиберовскую положив в асповскую? Нужно еще будет - еще раз создадим хиберовую сессию. ====== поздно. Ещё раз, значит у прошлой был коммит. А вот фабрику ISessionFactory нужно глобально кешить. От неё и порождать хиберовые сессии. Petro123пропущено... да. у меня на сайте это так и работает Ну так а в чём пыль-то? ===== пока пытаюсь совместить термины. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 07:54 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Алексей К TransactionScope ), позволяющий управлять транзакциями. очень классная штука. В Java метод (по ссылке выше в конце) намного сложнее и мне не нравится. Конечно для моей текущей задачи это оверхед, но на будущее спс. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 08:08 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Petro123если чисто по сабжу, то 2 необходимых условия ОРМ перед SQL: - необходимо бизнес-логика (БЛ) писать через ООП\Класы - клиентской части тоже нужен ООП\Классы (а не Контрол - Биндинг - DataSet) IMHO ORM - тупой DAL и только. В нормально спроектированных бизнес-объектах он может быть лубым, а вы пытаетесь из ORM слепить пулю, на которую он совершенно не расчитан. Кроме геммороя вы ничего не получите. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 10:53 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
SeVaORM - тупой DAL и только. В нормально спроектированных бизнес-объектах он может быть лубым, а вы пытаетесь из ORM слепить пулю, на которую он совершенно не расчитан. Кроме геммороя вы ничего не получите.Если LINQ2SQL считать ОРМом - то это далеко не "тупой DAL". В нём прекрасно описывается логика, которая "раньше" описывалась в SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 12:21 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
SeVaPetro123если чисто по сабжу, то 2 необходимых условия ОРМ перед SQL: - необходимо бизнес-логика (БЛ) писать через ООП\Класы - клиентской части тоже нужен ООП\Классы (а не Контрол - Биндинг - DataSet) IMHO ORM - тупой DAL и только. В нормально спроектированных бизнес-объектах он может быть лубым, а вы пытаетесь из ORM слепить пулю, на которую он совершенно не расчитан. Кроме геммороя вы ничего не получите. я уже не так категоричен как раньше. Для задач корпоратива на ГУИ-веб - возможно тупой. А для публичных сайтов - пойдёт. Везде ньансы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 12:26 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Petro123 я вынес всю БЛ в ОРМ. Мешать ХП с БЛ в ОРМ не очень хорошо. Это очень плохо, выносить бизнес в ORM :) Логику нужно выносить в Logic Layer. А там уже можно и "умные" хп поюзать, если сильно хочется. Хибер отлично дружит с хп. Petro123который идёт за данными в ОРМ? Да. Petro123это вы не о длинных, а об асинхронности. Не по теме. Как может быть это не по теме, если Вы сами сказали, что $.ajax async как-раз и юзаете. Мигрень? Petro123ну, вот уже пробую 3 раунда. Прогресс есть. ТЗ выше по ссылке от заказчика. Да нафига мне Ваш тз, Вы человеческим языком объясните. Petro123наконец то. Вот про это подробнее. Я так понял вы сессию HTTP называете асповой :) Ну пипец... Да. Petro123замечательно. У нас говорят, что нельзя. Т.к. сложный объект не сериализуемый. Хорошо, а в Application пробовали? Ключ должен быть с привязкой к юзеру, разумеется: Application["ID" + UserName]. Во-вторых, зачем хиберовую сессию куда-то прятать? Асинхронно пнули серверный метод, попали под отдельно выделенный тредпулом поток, в нем создалась хиберовая сессия, прошла длительная операция. Всё. Зачем сессию хибера куда-то сохранять? Petro123давайте не разбрасываться. Можем мы положить \ удлинить хиберовскую положив в асповскую? В Application точно можно. Во-вторых, это бред. Неверна постановка задачи - хибер сессию не нужно ни куда кешировать. Petro123поздно. Ещё раз, значит у прошлой был коммит. Причем тут коммит прошлой? Petro123пока пытаюсь совместить термины. Вы задачу лучше обрисуйте. По пунктам. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 18:23 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУВы задачу лучше обрисуйте. По пунктам. ну давай попробуем с клиента приходит 3 вызова в любой очерёдности Код: plaintext 1. 2. 3.
последний приходит в конце НА СЕРВЕРЕ один сервлет на все вызовы-реквест в потоке ============ Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Это из доки по хиберу - короткие транзакции. Открыл, HTML выплюнул - закрыл. Если это понятно, продолжим. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 22:46 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Корзину покупателя в веб как делают? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 22:47 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Petro123Корзину покупателя в веб как делают? Имхо хранят данные в сессии без всяких там записей в хибере/бд/etc. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 22:52 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
LelouchPetro123Корзину покупателя в веб как делают? Имхо хранят данные в сессии без всяких там записей в хибере/бд/etc. именно. Даже больше. Первые корзины хранили цену и код товара в JS на клиенте. НО выше пример с БЛ десктопа сложнее. Выстрелил и забыл (Веб) никому счас не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 23:07 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
1. Что мешает накапливать данные на странице (вариантов масса, хоть в js массиве синхронизируемся, хоть даже в name формы, а про сессии, куки и иже уж молчу). А потом всё это слить на сервер. 2. Корзина - проще пареной репы. Можно на куках, можно на профилях. Гоу ту асп.нет форум, короче. Я устал толкать кирпичую стену. Объяснять джависту элементарные асповые вещи под соусом "я не буду это есть" - не моё. Если хотите разобраться, ваяйте тестовый сайт на хибере, закидывайте в асп.нет форум, задавайте адекватно вопрос. Там помогу. А тут гонять сопли по десятому разу уже надоело. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 23:09 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
LelouchPetro123Корзину покупателя в веб как делают? Имхо хранят данные в сессии без всяких там записей в хибере/бд/etc. Корзина на сессии? :) Где взять такой травы? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 23:12 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУ, так и скажи. Я пойму - асповый форум. У нас то он один. Всё равно спасибо. Было познавательно. Не всё ж в своём соку вариться. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 23:15 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Petro123, не, ну без обид. Какой-то разговор глухого с немым получается... Явист жарит моск дотнетчику. Достало, епт. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 23:22 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУ, абсолютно без. Я тоже вашего брата мало мало... ShSerge приглашал когда, я сказал - слишком разные мы :) Тему я всю прочёл. 30% не понял, 70 понял, 10% твоих доводов фигня, 90 правда :) Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 23:31 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
Петро, бросайте гавножабу, курите человеческий оспонет :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 23:49 |
|
ORM vs sql
|
|||
---|---|---|---|
#18+
МСУLelouchпропущено... Имхо хранят данные в сессии без всяких там записей в хибере/бд/etc. Корзина на сессии? :) Где взять такой травы? Никогда их не писал, и в ближайший год не буду точно, профиль конторы не тот ) Сие было всего лишь скромное мнение ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 00:06 |
|
|
start [/forum/topic.php?fid=17&msg=37617186&tid=1350478]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 158ms |
0 / 0 |