|
|
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть ли какие-то готовые средства очистки объектов , полученных от Hibernate, от его затычек (PersistentTag ...)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 13:40 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
У "затычек" есть технический термин? PersistentBag? Никогда не задумывались как именно Hibernate узнаёт что элементы из коллекции удалены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 13:43 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Не. Не задумывался. Тысячу раз видел Persistent..., понятно что там что-то хиберовское (состояние, сессия и т.д.) Просто пришла блажь в голову убрать из клиентской части все что связано с hibernate. Может зря... Тащить его приходится все время на клиента. Небольшая проблема конечно - 3 мб. Просто не нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 14:00 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
bob1970Не. Не задумывался. Тысячу раз видел Persistent..., понятно что там что-то хиберовское (состояние, сессия и т.д.) Просто пришла блажь в голову убрать из клиентской части все что связано с hibernate. Может зря... Тащить его приходится все время на клиента. Небольшая проблема конечно - 3 мб. Просто не нравится. Удаление будет работать? С толстым клиентом, конечно, не всё гладко. Тащить на него Entity можно только, если понимать устройство Hibernate. И даже если понимать, то это всё равно больно. Я бы рекомендовал подумать про DTO и отдельную Domain модель для клиента без Persistent Entity. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 14:03 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Клиент действительно Eclipse RCP. Не уточнил важную деталь. Спасибо за совет. На самом деле нет уверенности в правильности решения. Даже масштабы последствий плохо представляю. Про dto в первую очередь подумал, но как-то громоздко получается. Больно говорите ... Ладно тогда пусть болтается. В общем-то суть вопроса в этом и была, стоит ли убирать с клиента hibarnate.jar. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 14:13 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Полагал что если уберу от хиберовских аннотаций решу проблему. Убрал. Перевел все в hbm.xml. А не прошел номер. В полях объекта все равно остается хиберовский persistent. Не понял вопроса про удаление, что там такого? Смержить перед удалением придется. Вроде все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 14:20 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
bob1970Blazkowicz, Полагал что если уберу от хиберовских аннотаций решу проблему. Убрал. Перевел все в hbm.xml. А не прошел номер. В полях объекта все равно остается хиберовский persistent. Не понял вопроса про удаление, что там такого? :) Ну вот есть "человек" и есть "контактные данные" (множество). Считали человека с контактными данными, передали на клиента. Там (в множестве) часть записей удалили, часть изменили. Передали на сервер и говорим ему "запиши". И как он поймёт, что 2 строки поменялись, а 3 удалены? Он полезет в persistentBug и сравнит то, что вы наменяли и то, что есть. Иначе- сложные SQL-запросы. Чтобы удалить кишки коллекций- не доверяйте их чтение/запись Hibernate'у - вычитывайте сами. Но работы будет немало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 14:58 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Alexey TominЧтобы удалить кишки коллекций- не доверяйте их чтение/запись Hibernate'у - вычитывайте сами. Но работы будет немало. Я и не доверяю. Как-то не сложилась любовь с обновлением коллекций через хибер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:05 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
bob1970, В целом, простого способа нет. Сейчас я бы делал это следующим образом. POJO Domain Model - структуры и методы бизнес-логики. Entities - расширение над структурами Domain Model - как их замапить, избежав дублирования, вопрос открытый. Оборачивать наследованием или делегированием - тоже палка о двух концах. ViewModel - расширение над POJO Domain Model - включает в себя дополнительные структуры и логику, которые нужные только на клиенте. Адаптирована под binding и структуру GUI. Entities конвертируются во ViewModel и обратно во время транспортировки клиент-сервер. Можно сериализацию запустить через свойства вместо полей и тогда будет проще смапить разницу в этих структурах. Плюсы - клиент отвязывается от ORM и имеют свою структуру, оптимизированую под GUI, при этом сохраняется переиспользуемый код Domain Model. Минусы - в Java нет удобного способа организовать расширение POJO в Entities, чтобы и код не дублировать и ORM остался доволен. Так же как и нет удобного фреймверка сериализации с десериализацией в другую структуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:22 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
bob1970Alexey TominЧтобы удалить кишки коллекций- не доверяйте их чтение/запись Hibernate'у - вычитывайте сами. Но работы будет немало. Я и не доверяю. Как-то не сложилась любовь с обновлением коллекций через хибер А зачем тогда вообще hibernate? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:41 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Alexey TominА зачем тогда вообще hibernate? +1. Если выкидывать кучу фич hibernate, то есть смысл взять ORM попроще, либо отказаться вовсе. Сейчас всяких QueryDSL, JOOQ - пруд пруди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:44 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
BlazkowiczМожно сериализацию запустить через свойства вместо полей и тогда будет проще смапить разницу в этих структурах. Классная мысль. С помощью какого нибудь dozer mapper. Геморой , конечно, конкретный. На каждую entity рисовать такой-же dto и следить за соответствием. Еще нарыл ссылочку BlazkowiczТак же как и нет удобного фреймверка ... с десериализацией в другую структуру. Ну так-то можно перед использованием на стороне сервера инициализировать бины view в hibernate entity, т.к. entity model почти такая же как и view model. А вот что будет со скоростью?! подумать страшно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:55 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
bob1970Классная мысль. Спасибо, но в Java хорошему дизайну на горло наступают фреймверки и ограниченность языка. bob1970С помощью какого нибудь dozer mapper. Геморой , конечно, конкретный. На каждую entity рисовать такой-же dto и следить за соответствием. На самом деле особого гемороя нет. Но идея была в том, что бы не конвертировать один тип в другой. А сериализовать один тип в пакет, а потом десериализовать в другой тип. bob1970Еще нарыл ссылочку Была ещё одна интересная тулза для GWT - Gilead, но, вроде, выдохлась. http://stackoverflow.com/questions/14967373/gilead-replacement-to-glue-gwt-and-hibernate-together Но задумка там любопытная. Можно самому сделать bob1970Ну так-то можно перед использованием на стороне сервера инициализировать бины view в hibernate entity, т.к. entity model почти такая же как и view model. А вот что будет со скоростью?! подумать страшно. В чем проблема со скоростью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:04 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Alexey Tominbob1970пропущено... Я и не доверяю. Как-то не сложилась любовь с обновлением коллекций через хибер А зачем тогда вообще hibernate? Spring JdbcTemplate? Использовать только "чистые" POJO классы:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:13 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
mad_nazgulSpring JdbcTemplate? Использовать только "чистые" POJO классы:-) JdbcTemplate - говно. QueryDSL, JOOQ и аналоги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:26 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНо идея была в том, что бы не конвертировать один тип в другой. А сериализовать один тип в пакет, а потом десериализовать в другой тип. Да, да. Я понял. Отличная мысль. Пожалуй я ее покопаю. Про dozer это я про решение через dto. BlazkowiczВ чем проблема со скоростью? При сериализации на клиента нужно будет посмотреть на потери на саму сериализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:26 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
Шел 2014, на скуле продолжали спорить о преимуществах и недостатках JdbcTemplate перед Hibernate. А тем временем в параллельной вселенной ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 23:19 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJdbcTemplate - говно. QueryDSL, JOOQ и аналоги. QueryDSL, JOOQ и аналоги - эталонное говно. Любой ORM - говно по определению! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 07:15 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
mad_nazgulЛюбой ORM - говно по определению!Пишите свой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:19 |
|
||
|
Очистить от hibernate-затычек
|
|||
|---|---|---|---|
|
#18+
For Allmad_nazgulЛюбой ORM - говно по определению!Пишите свой Зачем срать? Надо пользоваться SQL! <:o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 13:41 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38725772&tid=2126704]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
188ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 537ms |

| 0 / 0 |
