Подтвердить что ты не робот

Spring против спящего режима

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

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

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

4b9b3361

Ответ 1

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

Да

Спящий режим предназначен для ORM (реляционное сопоставление объектов), что делает ваши объекты постоянными для РСУБД.

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

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

Здесь архитектурный вид Spring:

spring

И это Hibernate:

hibernate

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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