powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Определение изменившихся свойств объекта
25 сообщений из 50, страница 2 из 2
Определение изменившихся свойств объекта
    #37892569
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманОпять же, нет ответа на вопрос "зачем".
Затем что бы сохранить обновленный объект и подчистить части которые уже им не используются.

ЛагманПытаетесь экономить байты? Производительность? По-моему, выделки не стоит. Проще перезаписывать весь объект.
Кто будет удалять уже не используемые файлы? Оставлять их нельзя.

ЛагманЕсли уж на то пошло, можно выделить в независимые действия (транзакции) с отдельными сущностями: "изменение порядка ссылок", "удаление картинок" и т.д., явно вызываемые кнопочками у пользователя.
Это web. Можно принять или все изменения или отказаться от всех и вернуться к первоначальному варианту.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892585
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
отчасти согласен, но:
- есть штатный механизм "изменённый объект" у хибера. Почему его не задействовать и писать велосипед?
- накапливать что-то (состояния) в тонком клиенте в веб - вообще геморрой. (Лагман +1)
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892589
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНЭто web. Можно принять или все изменения или отказаться от всех и вернуться к первоначальному варианту.
это не веб
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892592
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНКто будет удалять уже не используемые файлы?Вы, конечно.
Плохо понимаю, в чём проблема.
Есть "было" (на сайте) и "стало" (прислано пользователем). Плевать, каким образом пользователь создал "стало" - сравниваем с "было" и добавляем (новое), удаляем (несуществующее), обновляем (изменённое).
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892593
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНКто будет удалять уже не используемые файлы? Оставлять их нельзя.
фоновый процесс по вечерам))
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892599
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123забыл ник,
отчасти согласен, но:
- есть штатный механизм "изменённый объект" у хибера. Почему его не задействовать и писать велосипед?
- накапливать что-то (состояния) в тонком клиенте в веб - вообще геморрой. (Лагман +1)

Я и описал штатный механизм хибера, единственное что перед сохранением надо зупомнить старые пути, если сохранение успешно - сравнить их с предыдщими, и в зависимости от сравнения, подчистить\добавить файлы, и нету тут никаких сложностей с накапливанием инфы. Нас интересуют только начальное и конечное состояние
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892606
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНLeonidvСохраняем состояние объекта до изменения. Получаем новый объект с изменениями и пробегаемся рефлексией по полям.

Самое сложное, как мне кажется, это вложенные коллекции. Рефлексия меня не спасет если, во вложенной коллекции было 3 элемента. Пользователь удалил один адрес, переставил местами два оставшихся, добавил еще один адрес.
Почему не спасет? Сравниваем списки по элементо и находим, кто удален, а кто нет. Если объект достался из БД так вообще отлично - можно к его id привязатся. Если не достался - можно грязным хакам этот id проставить (отрицательным, например) и после полной обработки удалить.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892609
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
в штатном только коллекций-сортировки фото нету. Но можно просто через доп-св-во ввести imho
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892628
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЕсть "было" (на сайте) и "стало" (прислано пользователем). Плевать, каким образом пользователь создал "стало" - сравниваем с "было" и добавляем (новое), удаляем (несуществующее), обновляем (изменённое).
Если вы обратили внимание я про это и спрашивал. Вся задача свелась к перебору и резолву операции. Вот этот перебор и резолв я хочу оптимизировать. Ну что-то типа такого: на основе опять же перебора, создать список операций и предать в месте с первоначальным объектом исполнителю который будет все это выполнять а на выходе я бы имел обновленный объект. Мне нужен подход или паттерн который правильно было бы здесь применить. Мне кажется "в лоб" не совсем правильно решать такие задачи.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892637
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоН,
как хибер определяет, где в БД делать UPDATE а где DELETE? Для объекта и его коллекции!
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892644
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ТимоН,
как хибер определяет, где в БД делать UPDATE а где DELETE? Для объекта и его коллекции!

Никак. Сначала все убивает, потом создает заново. Вообще я про БД ничего не говорил :)
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892650
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНPetro123ТимоН,
как хибер определяет, где в БД делать UPDATE а где DELETE? Для объекта и его коллекции!
Никак. Сначала все убивает, потом создает заново. Вообще я про БД ничего не говорил :)
1. Вот это и есть самый простой вариант. Чем не нравится?
2. Я тоже. Я про Хибер говорил)))
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892656
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro1231. Вот это и есть самый простой вариант. Чем не нравится?
Нравится. Но, у меня нет самих фотографий у меня есть только ссылки. Перезалить их я не могу. Нет, могу сначала скачать, все удалить, закачать заново. Не кошерно это не находите?
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892660
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоННикак. Сначала все убивает, потом создает заново
Код: java
1.
2.
3.
4.
5.
6.
Book b = new Book();
b.setName("ВойнаИмир");
Autor a = new Autor();
a.setName("Иванов");
b.addAutor(a);
 session.saveOrUpdate(b);
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892661
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не хочешь руками то у хибера вроде есть listeners? Напиши на onDelete - запуск асинхронного таска по удалению файла(пусть берешь из удаляемой сущности)
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892676
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте рассмотрим случай когда БД нет. Есть объект и объект' все больше ничего нет.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892685
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНДавайте рассмотрим случай когда БД нет. Есть объект и объект' все больше ничего нет.

Код: java
1.
2.
3.
4.
5.
6.
Book b = new Book();
b.setName("ВойнаИмир");
Foto f = new Foto();
f.setPatch("24244343");
b.addFoto(f);
 session.saveOrUpdate(b);


так?
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892691
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ТимоНДавайте рассмотрим случай когда БД нет. Есть объект и объект' все больше ничего нет.

Код: java
1.
2.
3.
4.
5.
6.
Book b = new Book();
b.setName("ВойнаИмир");
Foto f = new Foto();
f.setPatch("24244343");
b.addFoto(f);
 session.saveOrUpdate(b);


так?
Не понял к чему вы клоните. Нет не так )
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892698
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоН,
программист? Напиши демо-код с хибером МИНИМАЛЬНЫЙ.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892703
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, а потом, с вопросом - почему хибер не сохранил изменения. А фото через триггер\листенер тебе сказали.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892715
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

У меня нет БД, нет Хибера. Я уже говорил.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892719
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант можно посмотреть как это реализовано в каком-нибудь STM(принцип ведь похож), например AKKA
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892721
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНPetro123,
У меня нет БД, нет Хибера. Я уже говорил.
всё понятно - ОРМ своими руками.
Т.е. сделай точно так как Хибер. Это паттерн.
Удачи!

5.2.1 Использование управляемого версионирования
http://dr-magic.blogspot.com/2010/01/3.html
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37892756
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНВот этот перебор и резолв я хочу оптимизировать.Не надо заниматься преждевременной оптимизацией.
Реализуйте максимально простой работающий вариант и решайте проблемы по мере поступления. По результатам практической эксплуатации.
...
Рейтинг: 0 / 0
Определение изменившихся свойств объекта
    #37893516
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНОн отдается пользователю на редактирование, после сабмита нам необходимо понять какие свойства в объекте или в дочерних объектах поменялись/удалились/добавились. Как это сделать?

На ум приходит Memento + "какой то резолвер который сможет подсказать что изменилось".

CGLIB?
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Определение изменившихся свойств объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]