рекомендации по замене огненной бури дао - PullRequest
2 голосов
/ 05 апреля 2010

Я принял код, который использует генератор кода Firestorm DAO от CodeFutures. Я полагаю, что лицензия на это скоро истечет, и мне было интересно, если кто-нибудь может порекомендовать какие-либо альтернативы, с открытым исходным кодом или нет, чтобы я мог понять, что там, чтобы лучше принять решение.

Ответы [ 3 ]

2 голосов
/ 12 января 2011

Вероятно, это немного поздно для вашего конкретного решения в апреле, но если вы привыкли к Firestorm DAO, используя сгенерированный код для каждой сущности базы данных, вам может быть легко переключиться на jOOQ . jOOQ полностью исключает «слой DAO», генерируя классы, которые непосредственно представляют вашу реляционную модель. Обычно это называется шаблон активной записи . Вместо написания DAO, вы можете напрямую запрашивать вашу базу данных из Java, используя встроенный jOOQ DSL , аналогичный Microsoft Linq

.

Я согласен с JavadocMD , что JPA (или Hibernate) - это то, что в настоящее время считается «наилучшей практикой». Но, возможно, вы не хотите добавлять объектно-реляционное отображение в ваше приложение по известным причинам ...

1 голос
/ 10 октября 2010

Я бы настоятельно рекомендовал , а не отключение огненной бури. Firestorm заставляет писать DAO в прошлом почти для 90% случаев использования. Для всех остальных случаев просто создайте подкласс dao, который создает firestorm, и добавьте к нему необходимые функции, используя унаследованные вспомогательные методы. Для этого вам не нужна лицензия, вы можете использовать бесплатную лицензию. Нет, я не из Firestorm, но Firestorm помог мне начать работу над проектом, сэкономив примерно 40% времени. Как только я займусь более сложными запросами, это сэкономит мне около 20% времени на разработку, но, тем не менее, это еще на 20% меньше, чем у других решений. Кроме того, он превращается в сырой JDBC. Если что-то идет не так, отладку намного проще, если вы знакомы с ODBC / JDBC.

0 голосов
/ 08 апреля 2010

Один из вариантов - полностью изменить направление и перейти на постоянную среду, такую ​​как JPA. Вы создаете свою объектную модель Java, добавляете соответствующие аннотации, и JPA обрабатывает все остальное для вас без какого-либо грязного сгенерированного кода.

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

Я использовал OpenJPA в производственной среде: http://openjpa.apache.org/

И мы рассмотрели TopLink (реализация Oracle), но столкнулись с несколькими проблемами, которые я не могу вспомнить. http://www.oracle.com/technology/products/ias/toplink/index.html

...