|
|
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
JulTЕсли я включаю кеш второго уровня, нужно ли при этом добавлять для сущности следующее: Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 11:59 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJulTЕсли я включаю кеш второго уровня, нужно ли при этом добавлять для сущности следующее: Нет. странно, а на хабре пишут что: http://floomby.ru/s2/meYArR/full/ конечно же вам доверяю больше) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 12:24 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
JulT http://floomby.ru/s2/meYArR/full/ конечно же вам доверяю больше) Доверять нужно не мне, а документации. Потому что с одной строны, задаётся глобально. мануалhibernate.cache.default_cache_concurrency_strategy Setting used to give the name of the default org.hibernate.annotations.CacheConcurrencyStrategy to use when either @Cacheable @Cache} is used. @Cache(strategy="..") is used to override this default.When possible, define the cache concurrency strategy per entity rather than globally. Use the @org.hibernate.annotations.Cache annotation. Но, с другой мануалWhen possible, define the cache concurrency strategy per entity rather than globally. Use the @org.hibernate.annotations.Cache annotation. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 12:35 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
JulTЕсть модель водителя: Код: java 1. 2. 3. 4. 5. 6. 7. При обновлении информации о водителе, присылается полностью вся модель с заполненными данными. Далее происходит обновление: Код: java 1. Мне не нравится, что при обновлении, например, просто имени, приходится таскать всю эту длинную модель с заполненными данными. Если, например, номер телефона не меняется, в private String phone; приходит нулл, но при save(driver) в базе обнуляется старый телефон, а этого быть не должно. Как бы это красиво разрулить? Спасибо. системная проблема, два варианта: 1. тянуть на iOS клиент все данные и отдавать все данные с изменениями, на сервере пересохранять все 2. тянуть на iOS клиент только необходимые данные, но на сервер передавать признак - очистки того или иного поля, на сервере - если пришло пустое значение (NULL) - не передавать его в базу, а если пришел признак очистки - тогда очистить в базе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 15:06 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
BlazkowiczКак делается в нормальных ORM а если там нет ORM? BlazkowiczЧитам драйвера по id из репозитория. Так как iOS клиент недавно загружал этого драйвера, то запись должна быть в кэшах и чтение стоит минимум а если отправка данных на сохранение идет на другой сервер, в котором еще никто не читал из базы? BlazkowiczЗаписываем в объект свойства, которые приехали из клиента приехало null, записываем null - где решение проблемы? BlazkowiczВ Hibernate остаётся только закомитить транзакцию, чтобы он обнаружил обновленные свойства и проапдейтил запись в базе держать транзакцию открытой все это время? вы это серьезно? напишите, пжл, свое ФИО, чтобы я выбрасывал ваше резюме в корзину Nixicа чего вас смущает не пойму, написали один раз метод апдейта, типа: Приведу пример из моего проекта, где апдейтится все через персистенс EntityManager и т.д. Генерируем геттеры и сеттеры для нашего класса Driver, потом используем их проблемы вашего кода мне очевидны, а вам? JulTОк, прописать в конфигах для хибера пару строчек для использования кеша - это не проблема.... дальше идет полный треш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 15:21 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
17-77, Я, конечно, извиняюсь, наверное. Но у вас вообще кроме треша ничего нет. Соизвольте представить свое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 15:32 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
17-77а если там нет ORM? Мы тут не первый день JulT ассистируем. Уже знаем что там и как. 17-77а если отправка данных на сохранение идет на другой сервер, в котором еще никто не читал из базы? Это может происходит только если нода отвалилась. А, так, клиентские сессии привязываются к нодам. Это нормальная практика. В худшем сценарии, придется мимо кэша вычитать из базы. Вот трагедия-то. 17-77приехало null, записываем null - где решение проблемы? Приехало null, записываем null. Не приехало - не записываем. В чем вопрос? 17-77держать транзакцию открытой все это время? вы это серьезно? Всё время обработки запроса пользовалетя? Это наверное невероятно долго. 17-77напишите, пжл, свое ФИО, чтобы я выбрасывал ваше резюме в корзину нах.. пошел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 15:34 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
smackmychiСоизвольте представить свое решение. 16554744 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 15:40 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
тут больше похоже на экономию на спичках. JulT хочет так сделать, только потом что не нравиться. Если это не отражается на производительности, то какой смысл извращаться? Если поток данных огромен, тогда это имеет смысл. Но из задачи видно, что этим можно спокойно пренебречь и потратить время на что-то более интересное и полезное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 16:14 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
блин, хорошо когда все апдейты через хибер идут, а когда извне, минуя всякие кеши и прочие стены...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 16:16 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
JulTблин, хорошо когда все апдейты через хибер идут, а когда извне, минуя всякие кеши и прочие стены...? Либо вешать слушателя и чистить кэши. Либо продумывать архитектуры целиком, а не точечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 16:18 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, обидели малыша, не плач, я на те <чупа-чупс> JulTблин, хорошо когда все апдейты через хибер идут, а когда извне, минуя всякие кеши и прочие стены...? ну вот, другое дело, потихоньку приходит понимание, что кэш не имеет абсолютно никакого отношения к проблеме, как и технология доступа к данным проблема лежит в трансфере данных от клиента к серверу, и заключается в том, что под NULL понимается два состояния - клиент либо данные почистил, либо даже на запросил с сервера, вот это и надо разрулить хотя как вариант - если клиент НИКОГДА не очищает данные (поля) - то все проще - добавь в свой метод save - проверку на NULL - если NULL - пропускаешь поле (не добавляешь в update sql) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 16:42 |
|
||
|
Как лучше реализовать
|
|||
|---|---|---|---|
|
#18+
17-77обидели малыша, не плач, я на те <чупа-чупс> По техническим вопросам ламо возражений не имеет. Так и запишем. 17-77ну вот, другое дело, потихоньку приходит понимание, что кэш не имеет абсолютно никакого отношения к проблеме, как и технология доступа к данным проблема лежит в трансфере данных от клиента к серверу, и заключается в том, что под NULL понимается два состояния - клиент либо данные почистил, либо даже на запросил с сервера, вот это и надо разрулить хотя как вариант - если клиент НИКОГДА не очищает данные (поля) - то все проще - добавь в свой метод save - проверку на NULL - если NULL - пропускаешь поле (не добавляешь в update sql) Да-да. Перепиши всё на SQL и не мучайся. Дельный совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 16:45 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38741948&tid=2126629]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 504ms |

| 0 / 0 |
