EJB3 x Spring

Aproveitando essa matéria http://www.devx.com/Java/Article/32314 gostaria que iniciar um conversar sobre que frameworks atualmente estão sendo os “preferidos” de vocês.

Nos últimos meses tivemos muitas novidades entre elas o EJB 3 talvez seja a principal, temos também JSF começando a pegar, o webwork e o struts sendo congelados, muitos frameworks Ajax. EJB 3 com várias possibilidades de persistência o spring “perdendo” um poucos de seus diferenciais já que EJB 3 copiou um pouco da idéia do spring, enfim… o que vocês tem visto com bons frameworks para projetos novos.

a… tava esquecendo do SEAM

Spring-Annotation + Spring + HIbernate-Annotation + JSF é a minha combinação preferida atualmente.

Persistência com EJB 3 ainda está muito longe de ser simples como o Hibernate, além de não ter uma API de criteria.

Sem contar que a coisa só roda em servidor de aplicação, porque é tanta macumba pra rodar o microcontainer do JBoss em outro servidor que o cara desiste na primeira tentativa.

Hoje pra mim a coisa é praticamente igual ao do Urubatan, tirando só o Spring Annotation, que já está entrando na lista também :smiley:

o JPA até não é dificil de rodar fora de um container não, inclusive da pra rodar junto com o spring …

basta criar um arquivo META-INF/persistence.xml
que a JPA ja ta funcionando :smiley:

o problema é que ela não é tão flexivel como o Hibernate puro, e principalmente a falta da API de criteria …

JPA roda em qualquer lugar, mas todo o resto só roda em container completo.

Bão, ainda não uso JSF, prefiro a arquitetura tradicional MVC, por isso uso SpringMVC + Spring (outros módulos) + Hibernate. Infelizmente não posso usar os annotations, pois estou usando a versão 1.4 do Java.

Tenho uma barreira de restrição com homologação na companhia.

Gostaria de começar a usar Ejb3, ainda não comecei a ler os papers, findei um projeto à pouco, agora que terei tempo de estudar, mas já dei uma brochada, sem API criteria ?.. até o OJB tem, que é um projeto menor …

O que vocês achan de EJB3+hibernate? o que vocês veem como vantagem do spring em relação ao EJB3 ?

Só pra dar uma contextualizada, uso spring a dois anos sempre com hibernate porém sempre foi sem annotações e agora vou partir pra spring e hibernate com anotações ou pra ejb3.

No Jboss a implementação da especificação EJB3 é o próprio Hibernate… :wink:

Tenho um paper com uma comparação bastante interessante entre EJB3 e Spring…

Quem quiser, e-mail me.

Eu tentei aqui usar Spring + EJB3.0, mas creio que não vai rolar porque tavam tentando injetar um session bean atráves do IoC do Spring, mas ele num rola com EJB3.0.
Ou vou acabar fazendo uma gambiarra gigantesca pra isso funcionar.

No Jboss a implementação da especificação EJB3 é o próprio Hibernate… :wink: [/quote]

eu me referi a não usar JPA para não ter as limitações já citadas, como não ter o criteria.

[quote=Rafael Nunes]Eu tentei aqui usar Spring + EJB3.0, mas creio que não vai rolar porque tavam tentando injetar um session bean atráves do IoC do Spring, mas ele num rola com EJB3.0.
Ou vou acabar fazendo uma gambiarra gigantesca pra isso funcionar.[/quote]

Olá Rafael,

vê se esses links aqui ajudam:
http://blog.interface21.com/main/2006/05/30/getting-started-with-jpa-in-spring-20/
http://blog.interface21.com/main/2006/08/07/using-jpa-in-spring-without-referencing-spring/

[quote=leomc]O que vocês achan de EJB3+hibernate? o que vocês veem como vantagem do spring em relação ao EJB3 ?

Só pra dar uma contextualizada, uso spring a dois anos sempre com hibernate porém sempre foi sem annotações e agora vou partir pra spring e hibernate com anotações ou pra ejb3.[/quote]

O Legal de usar EJB3 com Hibernate é poder usar as vantagens do Hibernate junto com o JPA e os entityMangers.

Eu recomendo usar EJB3, to usando e vale a pena. To usando com o glashfish.

[quote=marcelomartins][quote=leomc]O que vocês achan de EJB3+hibernate? o que vocês veem como vantagem do spring em relação ao EJB3 ?

Só pra dar uma contextualizada, uso spring a dois anos sempre com hibernate porém sempre foi sem annotações e agora vou partir pra spring e hibernate com anotações ou pra ejb3.[/quote]

O Legal de usar EJB3 com Hibernate é poder usar as vantagens do Hibernate junto com o JPA e os entityMangers.

Eu recomendo usar EJB3, to usando e vale a pena. To usando com o glashfish.[/quote]

O GlashFisch esta legal pra produção ? Ou você só usa para desenvolvimento ?

Bom, mas “poder usar as vantagens do Hibernate junto com o JPA e os entityMangers” também é perfeitamente viável sem EJB, com uma combinação de Hibernate, Hibernate Annotations e o Hibernate Entity Manager, certo? :wink: