2009-03-20 1 views
0

Я создаю приложение с использованием объектной модели JPA и создаю несколько объектов доступа к данным для взаимодействия с этой моделью. Я обнаружил, что повторяю много кода (по существу, CRUD) между различными объектами доступа к данным. Единственное, что отличается, - это целевые классы JPA.Ищете общую библиотеку для взаимодействия с моделью JPA

Мне было интересно, знает ли кто-нибудь об библиотеке абстракции, которая может быть использована с любой моделью JPA, и создаст необходимые DAO (или CRUD-операции). Поддерживая, конечно, все отношения «один-к-одному», «один ко многим», «многие-к-одному» и «многие ко многим».

Благодаря

PS - Вы знаете, такой библиотеки, даже если это не для моделей JPA?

+0

У меня нет опыта работы с DAO, но это звучит как хороший вариант использования дженериков. – 11684

ответ

2

Вы можете использовать дженерики и код вашего DAO для интерфейсов. Это объясняет Spring Documentation.

2

Предлагаю вам ознакомиться с этой статьей: http://www.ibm.com/developerworks/java/library/j-genericdao.html.

Он объясняет шаблон для реализации общего DAO с Hibernate и Spring AOP, но может быть легко адаптирован к JPA именованным запросам (и AOP на основе AspectJ, если вы не хотите использовать Spring).

Основываясь на API Java Reflection, концепция очень расширяема. Например, я видел реализации с использованием аргументов аннотированных методов как именованных параметров.

-1

DAO с JPA или Hibernate не имеют смысла. DAO существует, чтобы скрыть другой код от сложности базы данных. Это то, что делают JPA и Hibernate, довольно хорошо. Итак, зачем добавлять DAO в слой DAO?

0

Вы можете взглянуть на http//www.adichatz.org, если хотите быстро разработать приложение с использованием модели данных JPA, ориентированной на приложение RCP Eclipse. В настоящий момент он работает только с Jboss или в режиме Java SE.

0

Я ищу общую библиотеку DAO. Вот что я нашел.

Библиотеки:

Статьи:

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