Em 25 de outubro de 2012 11:14, rodrigo systemas
<[email protected]> escreveu:
> Pessoal! Hoje tenho sistemas para varejo(pequenas empresas) e para
> indusrias(pequenas, medias e agora algumas medio/grandes). Ate o momento uso
> o banco postgres. Não utilizo nenhum framework para dados, somente uso
> conexão jdbc! Entao, nao conheço hibernate nem outra framework para dados.
> Ouvi dizer que a conexção jdbc é mais rapida por tratar direto com o banco!
> blz, mas tb ouvi dizer q usar um framework agiliza a programação...entao
> fico nesse impasse....se adoto o hibernate vou ter mais agilidade mas vou
> perder muita ou pouca performance? o que vale mais? rapidez no
> desenvolvimento? rapidez na resposta do banco?
>
> Preciso da opinião de vocês! O hibernate ainda é o cara? ja tem algo mais
> promissor e confiável?

Vixe... já vi que essa discussão vai longe...

Minha opinião: O Hibernate é uma boa ferramenta e agiliza muito o
desenvolvimento em alguns aspectos, mas tem seus prós e contras como
qualquer framework existente. Para usar o Hibernate você precisa
conhecer muito bem o paradigma OO e pelo menos o nível 3 da Forma
Normal de banco de dados, caso contrário você fará um DER voltado para
suas classes de entidade do Hibernate ou vice-versa.

Duas coisas que eu odeio no Hibernate:

1) "Ele" executa muitos comandos SQL DML desnecessários. Você
precisara investir um bom tempo criando métodos para cada tipo de
consulta específica se não quiser que ele busque todos os objetos
associados ao objeto principal que você está consultando. E isso
torna-se contraproducente e deixa seu modelo confuso com muitos
métodos de pesquisa que fazem "quase" a mesma coisa.

2) Quando você usa uma aplicação com Hibernate em um servidor de
aplicações, é preferível que nenhum outro aplicativo acesse o banco de
dados para fazer alterações por causa do gerenciamento do cache de
objetos que ele oferece. Se você não souber como e quando dar um
"flush()" e houver outro aplicativo acessando o banco de dados, as
informações apresentadas poderão estar desatualizadas em um ou outro
aplicativo.

Ao usar Java eu sou favorável ao uso de Hibernate, desde que seja
agregado a um bom projeto usando os patterns DAO e Facade: Facade -->
DAO --> HibernateDAO --> Hibernate. Mas terá que cuidar muito a
questão do gerenciamento de cache.

Quanto à conexão ser mais rápida via JDBC é balela. O Hibernate faz o
mesmo tipo de conexão, mas como tem o cache pode "parecer" que o
acesso é até mais rápido.

-- 
TIAGO J. ADAMI
http://www.adamiworks.com
@tiadami
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a