Весна против спящего - PullRequest
       8

Весна против спящего

34 голосов
/ 09 февраля 2009

Просто пытаюсь разобраться в Spring и выяснить, как я подключаю соединение Oracle в xml-файле конфигурации, и теперь узнаю, что мне нужна еще одна инфраструктура! - Hibernate, это так разочаровывает, так как мне кажется, что я все глубже и глубже погружаюсь во все больше и больше фреймворков, фактически не получая то, что мне нужно!

Я посмотрел на Hibernate, и он, похоже, делает то же самое, что и Spring, имея в виду, что я просто хочу сделать несколько вставок SQL в Oracle.

Я неохотно и у меня нет времени, чтобы изучить 2 фреймворка - могу ли я с легкостью принять Hibernate для простых вещей, которые мне нужно сделать?

Ответы [ 5 ]

60 голосов
/ 09 февраля 2009

... могу ли я сойти с рук, приняв Hibernate для простых вещей, которые мне нужно сделать?

Да

Hibernate для ORM (реляционное сопоставление объектов), то есть делает ваши объекты постоянными для СУБД.

Весна идет дальше. Он может также использоваться как AOP, Dependency Injector, Web-приложение и ORM среди прочего.

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

Вот архитектурный вид весны:

spring

А это Hibernate:

hibernate

11 голосов
/ 10 февраля 2009

Spring и Hibernate - абсолютно разные фреймворки для разных задач. Spring - это огромный фреймворк со множеством функций, Hibernate - это мост O / R.

Я бы порекомендовал использовать простой старый JDBC в вашем случае («только некоторые вставки SQL в Oracle»).

7 голосов
/ 10 февраля 2009

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

Хорошая вещь о весне - то, что это очень слабо связанная структура. Таким образом, вы можете прочитать об используемых вами битах и ​​забыть об остальном - даже во время выполнения.

4 голосов
/ 10 февраля 2009

Spring и Hibernate действительно предназначены для двух разных вещей. Spring - это прежде всего подсистема управления контейнерами и конфигурациями, а Hibernate - это механизм привязки базы данных и ленивый механизм загрузки. Если вы не хотите вводить кучу новых вещей в свой код, придерживайтесь Spring и запускайте свои собственные запросы или используйте iBatis , чтобы сделать намного более простое связывание базы данных.

1 голос
/ 09 февраля 2013

Если все, что вам нужно, это вставить SQL для оракула, я бы придерживался простой библиотеки JDBC. Все, что вам нужно, это соединение и, возможно, какой-нибудь ConnectionPool (может быть, c3po). Hibernate и т.п. слишком большие / слишком сложные и IMO уступают. Hibernate включает в себя JDBC под капотом, но по всем параметрам уступает - сложнее в использовании, не быстрее, а запросы, которые вам приходится писать, или нет, проще. Это также является свидетельством их неполноценности, поскольку HQL также предоставляет обходной маршрут, позволяющий напрямую вводить запросы JDBC. Они предоставляют это (я подозреваю), потому что для любого сложного запроса вы просто не можете его правильно построить в HQL.

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