Фреймворки Java Persistence - PullRequest
       2

Фреймворки Java Persistence

2 голосов
/ 16 июля 2010

Мне нужна дополнительная информация.

Я занимаюсь разработкой небольшого приложения, которое будет взаимодействовать с веб-приложением PHP.Медиасервер, с которым мы включаемся, является расширяемым в Java.

Мне нужен очень небольшой доступ к базе данных внутри плагина, который мы разрабатываем, мне нужно только просматривать строки примерно в 10% таблиц.Мне нужно только обновить данные в одной из таблиц.

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

Я не хочу моделировать все эти отношения - так как в этом нет необходимости.

Какая моя лучшая ставка?Будет ли Hibernate заставлять меня отображать все эти доменные объекты?Является ли myBatis (ранее iBATIS) лучшим выбором, так как люди, с которыми я общаюсь, тоже более удобны с SQL?Имеет ли значение, какую среду персистентности я выберу - т.е. они все заставят меня моделировать каждую из таблиц?

Это таблицы MySQL InnoDB, если это имеет какое-то значение.

Ответы [ 3 ]

2 голосов
/ 16 июля 2010

Я не могу говорить о Hibernate, но myBatis не заставит вас что-либо моделировать - просто создайте POJO, который содержит свойства, которые вас интересуют, затем напишите сопоставления (просто в sql), которые отображают любые столбцы из любого столы, которые вы хотите в вашем pojo.

2 голосов
/ 16 июля 2010

Hibernate требует, чтобы вы отображали только те элементы, которые вы хотите использовать в контексте вашего Java-приложения.В результате вы можете иметь объекты, сопоставленные только с теми таблицами, к которым вы хотите получить доступ со стороны Java.

Несколько предостережений для процесса:

  • Вам придется смоделировать все объекты / отношения для всех таблиц, с которыми будет взаимодействовать данная таблица сущностей
  • Вещиможет быть грязно с двумя программами, попадающими в базу данных одновременно.Несмотря на то, что это проблема, которая учитывается и обрабатывается Hibernate для блокировки, такие вещи, как правило, остаются в стороне от PHP.
1 голос
/ 16 июля 2010

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

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