JPA: Каков хороший способ обновления данных из внешнего источника? - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть несколько текстовых файлов из внешнего источника, из которых анализируются данные.Вывод синтаксического анализатора на основе Java представляет собой список объектов Java, представляющих проанализированные данные.Объекты данных были аннотированы тегами JPA и сохранены в базе данных.

Я регулярно получаю обновления этих текстовых файлов, которые могут изменяться или не изменяться.Когда анализатор снова запускает обновленные данные, он создает новый список объектов.Мне нужно объединить более новую версию объектов с уже имеющимися в базе данных.Каков хороший подход к выяснению того, что отличается от объектов из недавно урезанных текстовых файлов и того, что уже существует в базе данных, чтобы можно было сохранить любые обновления или новые данные?

Ответы [ 2 ]

1 голос
/ 15 декабря 2010

Да, должна быть возможность просто использовать merge (). Пока объекты имеют одинаковый идентификатор, merge () объединяет любые изменения и обновляет только то, что изменилось (или ничего).

merge () потребуется для загрузки объекта, поэтому, если вы знаете набор объектов, вы можете оптимизировать его, предварительно загрузив их в одном запросе.

0 голосов
/ 14 декабря 2010

Вам не хватает идентификатора.Создайте столбец в ваших таблицах, который будет представлять источник, из которого вы создали объект (имя файла или строка определенного файла - вы не описали формат).

Затем вы сможете прочитать объект из базы данных, обновить его новыми значениями и записать обратно в БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...