2015-10-03 2 views
-1

Я работаю в веб-приложении в JSF, которое предназначено для решения практически всех бизнес-логик в БД, то есть проверка данных, обработка и т. Д. Происходит в основном в хранимых процедурах. Какая структура рекомендуется для такого рода приложений? Я думал в Hibernate, но та же документация гласит:основанная на данных структура приложения для java

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

Справедливость поединка с гибернацией оценивается. Итак, я ищу фреймворк, который просто управляет соединениями и вызывает в БД, и помогает написать более удобный код. Я читал о Spring, но я не знаю, лучший ли это для этого.

Кроме того, если есть какой-либо шаблон дизайна для применения с использованием только JDBC, будет полезно для меня.

Любая помощь и/или предложение приветствуются. Заранее спасибо.

+0

Поскольку системная архитектура имеет базовую архитектуру базы данных, возможно, вам стоит искать базу данных на основе БД. – MirMasej

ответ

1

Когда дело доходит до Spring есть JDBC Template, которая обеспечивает интеграцию/JDBC Java. Вот пример хранимой процедуры вызова:

this.jdbcTemplate.update(
    "call SUPPORT.REFRESH_ACTORS_SUMMARY(?)", 
    Long.valueOf(unionId)); 

JDBC шаблона обеспечивает управление транзакциями, объект управления соединениями/отображения запроса, защита инъекции SQL и некоторые другие.

См Quick Getting Started и Spring Data JDBC Extensions, если вы хотите, чтобы дать Весна данные, попробовать, как это позволяет также typesafe queries (так!) С QueryDSL.

+0

С шаблоном Spring jdbc вам не нужно иметь дело с управлением подключением, управлением транзакциями и т. Д. Это обеспечивает очень хорошую и доказанную модель программирования для вас. Я использовал его во многих проектах. У одного из них было то же требование с вашим проектом. Вы не пожалеете. – cool

+0

Я продлил ответ с несколькими функциями в соответствии с вашим предложением. И на низком уровне я имел в виду по сравнению с JPA, поэтому я удалил это непонятное заявление. Я использовал его в одном проекте, и это было неплохо, но мы использовали строковые запросы, которые приводят к некоторым головным болям. Также некоторые вещи, которые поступают бесплатно (например, сохранение объекта), необходимо закодировать вручную. – MirMasej