Hibernate, o assunto era Reinventar a roda, mas isso não tem mais importância

[quote=bobmoe]
é justamente o contrário: difícilmente se faz grandes coisas sem Lazy Load :slight_smile:
não da pra complicar a vida da maioria, só pq a excessão não usa isso, entende? enquanto alguns indivíduos que não usam perdem, no geral o coletivo se beneficia.[/quote]

Bom… como todos sabemos isso não é verdade. Lazy load como citado aqui no tópico já tem sua funcionalidade questinável.
E não é complicar a vida da maioria a não ser que seja complicado pra você adicionar um jar no projeto, oque não deve ser verdade pois só o hibernate já adiciona 464641327 jars…

Então, mais uma prova de que você tem no seu projeto coisas inúteis a você…

Olha oque eu achei…

http://www.guj.com.br/posts/list/15/37646.java#200301

É isso que eu digo!

E quem disse que eu uso criteria em meus projetos???
eu uso o hibernate mas não gosto de trabalhar com criteria… prefiro hql ou sql mesmo…

Então, mais uma prova de que você tem no seu projeto coisas inúteis a você…

Olha oque eu achei…

http://www.guj.com.br/posts/list/15/37646.java#200301

É isso que eu digo![/quote]

você está vendo um framework como uma aplicação; não é (é apenas uma parte dela)! da forma que você diz cada framework teria que ser uma plataforma de plugins (como equinox por exemplo). imagine três camadas, cada uma com uma platraforma dessas rodando… :shock:
o próprio eclipse já tentou implementar algo precido com isso com o OSGI e sabe o que aconteceu? as pessoas chegam até a comprar suites de plugins que privam elas de ficar baixando tudo que precisam.

[quote=luistiagos]E quem disse que eu uso criteria em meus projetos???
eu uso o hibernate mas não gosto de trabalhar com criteria… prefiro hql ou sql mesmo…[/quote]

Não disse que você usa, disse que você o tem… é a mesma coisa que ter uma placa de vídeo onbord queimada, não te serve pra nada, mas vc não pode tirar ela de lá…

Então, mais uma prova de que você tem no seu projeto coisas inúteis a você…

Olha oque eu achei…

http://www.guj.com.br/posts/list/15/37646.java#200301

É isso que eu digo![/quote]

Caramba, você fica reclamando que o hibernate vem com a API de criteria enquanto a nhaca da tua web app Java depende de um pacote que vem com 2 toolkits de GUI sendo um incrivelmente bloated. Reclama da coisa certa, pelo menos!

Então, mais uma prova de que você tem no seu projeto coisas inúteis a você…

Olha oque eu achei…

http://www.guj.com.br/posts/list/15/37646.java#200301

É isso que eu digo![/quote]

Caramba, você fica reclamando que o hibernate vem com a API de criteria enquanto a nhaca da tua web app Java depende de um pacote que vem com 2 toolkits de GUI sendo um incrivelmente bloated. Reclama da coisa certa, pelo menos![/quote]

Nossa… não viaja cara!!
Primeiro eu citei como exemplo, e sequer estou reclamando apenas sugerindo uma discussão!
Segundo nhaca da minha app web?? Doque você ta falando???
Terceiro, eu reclamo doque eu quiser, se eu quiser reclamar da sua arrogância e prepotencia eu reclamo. Liberdade de expressão! Não estou agredindo ninguem então tenho direito de falar!

Numa boa, esse fanatísmo já tá fazendo vocês parecerem patéticos!!

Existe uma falha de concepção de que quanto mais plugins e mais extensibilidade melhor. Não vejo assim, mais plugins e mais extensibilidade implica em mais configurações a lidar (alguém quer perder tempo com isso?) e em mais complexidade. Conheço o Struts 2 com seu sistema de plugins e interceptors, mas seus pontos de extensão são poucos.

O framework mais extensível que eu já vi foi JavaServer Faces, onde tudo é passível de customização, desde os componentes, até as rotinas que executam no meio do ciclo de vida, passando pela customização da expression language. Portanto, pela sua grande extensibilidade, poderiamos concluir que é o melhor framewok do mundo, certo? Não! JSF é difícil, possui várias coisas não-óbvias (o DataTable, por exemplo) e a extensibilidade, apesar de presente, é complicadíssima.

Um framework fácil com Convention over Configuration pode ser conflitante com um framework extensível. A própria natureza do framework é limitar o domínio de problemas que pode ser resolvido, forçando uma arquitetura que se acredita ser de qualidade. O que eu quero dizer com isso? O usuário quer que o framework faça o trabalho sujo, se o cara tiver que ficar preocupado com extensões, plugins e configurações, no que o framework estará ajudando?

Por curiosidade, fanatismo ao que? Por favor, substancie isso.

Leonardo3001, um framework extensivel não significa um que exige toneladas de configuração. O RoR é um bom exemplo disso, é possivel customizar uma enorme quantidade de aspectos dele para quem quiser, porém é opcional e adota uma série de convenções a respeito disso.

você trabalha com o que? digo, que tipo de softwares?

eu acho criteria algo MUIIIIIIIIIIITO útil

Mas RoR é muito mais customizável porque a própria linguagem abre brechas pra que isso seja feito, não é uma coisa que veio só do framework não. Escrever um “RoR” em Java puro é praticamente impossível.

O próprio modo de se “escrever” plugins pro Rails é diferente, você simplesmente bota a coisa lá e ele é levantado junto com a aplicação, você não “configura”, no máximo você habilita o plugin pra um dos seus objetos com um “acts_as_qualquer_coisa” e nessa hora o seu objeto se enche de métodos que o plugin implementou. Funciona? Claro, mas é mais “Ruby” do que “Rails” em si.

[quote=louds]
Por curiosidade, fanatismo ao que? Por favor, substancie isso.[/quote]
Você ainda pergunta?? Se eu fizer um tópico para falar de concatenar strings o assunto vai acabar chegando no hibernate… Deixem o hibernate de lado e olhem mais para o foco da discussão.

Mas RoR é muito mais customizável porque a própria linguagem abre brechas pra que isso seja feito, não é uma coisa que veio só do framework não. Escrever um “RoR” em Java puro é praticamente impossível.

O próprio modo de se “escrever” plugins pro Rails é diferente, você simplesmente bota a coisa lá e ele é levantado junto com a aplicação, você não “configura”, no máximo você habilita o plugin pra um dos seus objetos com um “acts_as_qualquer_coisa” e nessa hora o seu objeto se enche de métodos que o plugin implementou. Funciona? Claro, mas é mais “Ruby” do que “Rails” em si.[/quote]

Você tá confundindo a facilidade da semântica Ruby com a mecânica dos plugins do Rails. RoR facilita muito as coisas pois possui auto-discovery de plugins, o sistema quase que inteiro é configurado via convenções ou defaults. Isso é algo que está mudando no mundo Java a uns 2 anos, para sorte daqueles que desenvolvem com.

[quote=volnei][quote=louds]
Por curiosidade, fanatismo ao que? Por favor, substancie isso.[/quote]
Você ainda pergunta?? Se eu fizer um tópico para falar de concatenar strings o assunto vai acabar chegando no hibernate… Deixem o hibernate de lado e olhem mais para o foco da discussão.
[/quote]

foi você mesmo que começou quando criou o tópico:

Então leia novamente…

Alguém fecha este tópico por favor. Não está mais sendo produtiva esta discussão !!!

criteira pode ser substituida por hqls… então temos 2 coisas que nos trazem o mesmo resultado: criteria e hql…
pra que usar criteira se pode usar hql ou sql mesmo?

agora gostaria de saber sobre esses phantom reads… fiquei curioso sobre isto… pq abrir uma transação para fazer uma consulta? o que são phantom reads???

[quote=luistiagos]criteira pode ser substituida por hqls… então temos 2 coisas que nos trazem o mesmo resultado: criteria e hql…
pra que usar criteira se pode usar hql ou sql mesmo?
[/quote]

Eu acho que Criteria é mais… OO, compilável, concreto??
Não sei qual é o termo correto…

Compare:

String hql = "select p from Pessoa p where p.nome = :nome";
Query q = s.createQuery(hql);
q.setParameter("nome", "test");
return q.list();

versus:

Criteria c = s.createCriteria(Pessoa.class);
c.add(Expression.eq("nome", "test");
return c.list();

Olha só quanta String no primeiro código… Se tiver algum erro de sintaxe na hql continda da String o compilador não vai acusar e o auto-complete da IDE não vai te ajudar.

[quote=microfilo]

Criteria c = s.createCriteria(Pessoa.class);
c.add(Expression.eq("nome", "test");
return c.list();

Olha só quanta String no primeiro código… Se tiver algum erro de sintaxe na hql continda da String o compilador não vai acusar e o auto-complete da IDE não vai te ajudar.[/quote]

O segundo exemplo mostra uma das falhas do Java, suporte incompleto a Metatypes literals. No lugar de "nome"o ideal seria utilizar o literal do atributo ou getter.