2012-04-29 2 views
2

В прошлую пятницу я побывал в интервью ИТ-консалтинговой компании.Интервью по интеграции в спящий режим

Интервьюер спросил меня о моем проекте и каково было мое участие в нем.

Внезапно он бросил один вопрос на спящий режим. Его вопрос был следующим:

«Если у меня есть проект, который был разработан в архитектуре MVC с использованием среды Java EE, но с использованием JDBC для взаимодействия с базой данных, как я буду интегрировать Hibernate в него. Я не хочу нарушать существующий код, все предыдущие коды JDBC должны быть неповрежденными ».

Я сказал ему, что мы добавили все функции спящего режима в существующий код, так как он требует только файлов Config, Entities its it. Старый код JDBC может сам использовать Datasourse для получения соединения, один и тот же ресурс можно искать с помощью JNDI для создания фабрики сеансов в Hibernate, а не для крупной сделки.

Но интервьюер не был доволен моим ответом, ему понадобилось еще несколько объяснений. Я не мог произвести на него впечатление.

Итак, можете ли вы предложить, какой должен быть вероятный ответ на вышеупомянутый вопрос. Или, по крайней мере, дать мне один намек, чтобы я мог прийти к ответу.

ответ

2

Я думаю, он хотел ответить следующим образом.

Типичный дизайн приложения требует разделения слоев. Существуют следующие классические слои: веб-уровень, бизнес-логика и БД. Существует тонкий слой с именем DAO (Data Access Objects), который написан в java и играет роль «посредника» между бизнес-логикой и БД. Похоже, что этот уровень реализован с использованием простого JDBC.

Таким образом, нет необходимости заменять этот и только этот слой на основе Hibernate.

Теперь вы можете добавить более подробную информацию о том, как вы настраиваете Hibernate и интегрировать его с остальной частью приложения.

0

Я думаю, что он, вероятно, искал вас, чтобы объяснить, как вы могли бы:

  • положить Hibernate обертками вокруг существующих запросов SQL или
  • создают Hibernate привязок для таблиц наследство SQL или
  • интегрировать Hibernate и классический JDBC с использованием транзакций на уровне контейнера.

(Понятно, что он не спрашивал о том, как вы бы заменить старый JDBC код с Hibernate кода ...)

Но, конечно, вы действительно должны спросить его, что знания/опыта, который он ожидал от вас, чтобы продемонстрировать, отвечая на вопрос.

0

Неточный ответ, и вы не указали, какой каркас использует ваше приложение, но если ваше приложение использует Spring framework, this my question, и его ответ будет полезен для вас, но мой вопрос обратный, поскольку я хотел интегрировать jdbc с hibernate.

Смежные вопросы