Prevayler ou Hibernate? qual a diferença?

Olá Senhores(as),

To Estudando o hibernate, mas confesso estar sentindo um pouco de dificuldade no mesmo. encontrei na internet esses dias informações acerca do prevayler e gostaria de saber de vcs qual a principal diferença, se o prevayler é mais fácil de usar e se suporta as mesmas funções do hibernate, assim como se é possível usar o prevayler com jsf…

um grande abraço.

Prevayler é apenas uma ferramenta para armazenar a sua estrutura de dados em memoria, e o mecanismo de persistencia dele consiste em gravar os objetos serializados em disco. Nao é indicado para qualquer projeto “de verdade”, pois lhe causa muitos problemas quando o modelo de dados for alterado (voce é obrigado a fazer a migracao de objetos no braco), tempo de startup (tente carregar dezenas de megas de dados serializados em memoria e veja o tempo que leva, para no meio descobrir que a sua migracao do modelo de dados esta incorreta), nao ha suporte real pelos desenvolvedores, e assim vai…

Hibernate é uma ferramenta de mapeamento objeto relacional - ou seja, voce mapeia as suas classes e propriedades para tabelas -, e o hibernate cuida de fazer a persistencia, busca e etc. Na maior parte do tempo ele te livra da necessdade de escrever SQL diretamente, e conta com mecanismos avancados de caching.

A melhor coisa a fazer eh definitivamente utilizar Hibernate. Voce esta com duvidas / dificuldades com ele? Diga quais sao ;).

Alem disso, ja leu os tutoriais do GUJ sobre Hibernate? Da mesma forma, ha varias mensagens no forum (utilize a Busca) sobre o assunto, que certamente lhe ajudarao.

Rafael

Lembrando que ele pode ser um mecanismo para controlar a persistência,mapeamento O-R e o diabo a quatro, mas NÃO faz a persistência.

tiagomac, para querer usar o Prevayler, vc deve estar querendo “velocidade”(principalmente de acesso) na sua aplicação.Pense em usar o HSQLDB “In-Memory”, que tudo fica extremamente rápido.E avalie a necessidade de usar o Hibernate.Se o seu sistema vai ter 5 tabelas e não será grande, seu uso é desnecessário. :wink: