ORM vs low-level access.
Кто что (из обозначенного в теме) использует? Средства для ORM (кстати, какие?), или ручной доступ к бд через JDBC напрямую? И по каким причинам, в основном?
Било одно время когда я использовал Entity EJB (В версии 3 их уже нет, но есть Persistence API - пока реально на практике не юзал, только немного экспериментировал).
Когда-то очень активно юзал Torque.
Основные причини - некоторый базовый функционал уже написан и просто нужно расширять систему на его базе.
EJB било интересно после Торка, а Торк юзал чтоб не юзать JDBC (которое тоже иногда использую, но только в редких случаях или для быстрого тестирования).
в его reference implementation, через TopLink, чистый JDBC использую на работе (там где действительно критична скорость доступа к данным).
Сейчас вот прикручиваю JPA/TopLink в J2SE, чтобы не писать вручную запросы. А к Hibernate давно присматриваюсь, но пока не случалось на практике поработать плотно.
Версия 3 как раз намного удобнее предыдущей, но жаль что например JBoss не хочет понимать многих аннотаций EJB. В этом смысле удобнее GlassFish.
А вобще JDBC + NetBeans помоему неплохо.
JBoss не понимает аннотаций? Каких? Я, правда, с JBoss работаю с EJB 2.1, с этим проблем нету. А коллеги, которые с 3.0 работают, говорят, что используют Hibernate напрямую.
GlassFish-то конечно, это же reference implementation. Но JBoss намного распространенней + силен своими добавочными фичами. Типа распределенных кешей и прочего.
Насчет того, что EJB 3.0 гораздо лучше предыдущих - это бесспорно :). Сокращение размера необходимого кода во много раз.
А вобще JDBC + NetBeans помоему неплохо.
JDBC, имхо, на некотором этапе развития проекта начинает плавно перетекать в урезанную/специализированную версию ORM:). Суди сам - есть сущности в базе, их сотни. У сущности несколько десятков аттрибутов, куда-то же их надо сохранять организованно, когда ты работаешь с данными. Получается, таки - на каждую сущность по классу. Вдобавок куча классов для гибкой обработки этих классов сущностей...и прочее.
А NetBeans тут причем?
Хотя ето иногда очень спорний вопрос ;)