2009-02-09 2 views
33

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

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

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

+0

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

+0

Я отказываюсь от предыдущего заявления, видимо, весна тоже делает орм. –

+1

«Я * просто * хочу сделать некоторые SQL-вставки в Oracle». Знаменитые последние слова. –

ответ

56

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

Да

Hibernate для ORM (объектно реляционное отображение), то есть сделать ваши объекты стойкими к RDBMS.

Весна идет дальше. Его также можно использовать как AOP, Injector Dependency Injector, Web Application и ORM.

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

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

spring

И это Hibernate:

hibernate

9

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

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

+0

Весна имеет ORM тоже. – OscarRyz

+3

Да, единственное, чего нет у Spring, это его собственная ВМ, которая, вероятно, будет добавлена ​​в ближайшее время, не так ли? ;) –

+0

Самое смешное, что весна считается легкой, хотя она такая большая. По-видимому, легковесность относительно - в весеннем случае легче, чем полный сервер приложений Java EE. –

4

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

+2

Не путайте его с iBatis, имхо. Это действительно хорошая рамка, но еще одна для него. Никаких негативов точно. –

7

Вы можете уйти с использованием только весны и spring-JDBC integration. В зависимости от сложности ваших потребностей в доступе к данным это может быть более чем достаточно. Весна Object-relation mapping также стоит изучить, если вы собираетесь делать большой доступ к данным.

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

1

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