Каков наилучший способ извлечения информации из существующей базы данных без наличия полной структуры объектов в новом приложении Java?

#hibernate #spring #entity-relationship

#переход в спящий режим #spring #сущность-отношение

Вопрос:

Текущее приложение, в котором я участвую, в некотором роде монстр с очень сложной структурой объектов и очень тесной связью с фреймворком Seam.

Через пару недель я начну рефакторинг этого монолита, но перед этим мне нужно создать небольшое приложение, которое будет собирать некоторую информацию из базы данных, подключенной к приложению monster, и экспортировать ее.

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

В новом приложении я в настоящее время использую Spring Framework и Hibernate.

Итак, мой вопрос:

Каков наилучший способ извлечения необходимой мне информации из существующей базы данных без наличия полной структуры объектов в моем новом приложении?

Ответ №1:

Какие данные вам нужно экспортировать и в каком формате? Вам действительно нужен уровень ORM или вы можете просто использовать Spring JDBC для прямого запроса таблиц? Каков срок службы вашего небольшого приложения и какова вероятность его трансформации в большое приложение? Я бы рекомендовал сделать что-нибудь быстрое и простое с SQL, а затем заменить его на ваше переработанное «монолитное» приложение, когда это будет сделано. Если вы отделяете интерфейс от реализации, замена не должна быть слишком сложной.

Комментарии:

1. Я перешел на решение Spring JDBC, и приложение стало довольно аккуратным автономным приложением и, безусловно, началом для переработанного «монолита». Спасибо!

Ответ №2:

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

Ничто не говорит о том, что вам нужно отобразить всю базу данных, чтобы использовать ее через Hibernate.