Foi lançado hoje (31/03/2009) a versão 3.5.0 do Hibernate, com suporte a algumas coisas novas, das quais com certeza a mais destacada é o suporte a nova versão da Java Persistence API, a JPA 2.
Entre as outras grandes novidades que surgiu com a nova versão do hibernate incluem:
[list]
Introdução do Hibernate annotations, entity manager e envers ao core. Dessa forma, se você precisar usar algum deles, tudo já vai estar lá e pronto.
Melhorias na integraçao com os frameworks de cache de segundo nível.
Suporte a objetos imutáveis
[/list]
Para os que utilizam o Maven em seus projetos, os artefatos já estão disponíveis no repositório da JBoss.
Excelente notícia. O suporte a criteria da jpa2 já estava muito bom no beta-2, todos os testes que havia feito com EclipseLink passavam. Parabéns a equipe do Hibernate por manter o excelente trabalho.
ps: DJemacao, enovad, entre outros, também postaram essa notícia.
Felagund
Achei que era 1º de abril
overkill
Tive que olhar o maven pra crer ! :)
fujioka
Excelente! Também tive que ver para crer…
Alessandro_Lazarotti
Rock! Notícia bem aguardada.
peerless
Paulo Silveira:
Excelente notícia. O suporte a criteria da jpa2 já estava muito bom no beta-2, todos os testes que havia feito com EclipseLink passavam. Parabéns a equipe do Hibernate por manter o excelente trabalho.
ps: DJemacao, enovad, entre outros, também postaram essa notícia.
Muda muita coisa do Criteria do hibernate?
[]s
Andr_Heidi_Moriya
Olá Pessoal,
Viu como faz para baixa o hibernate do site?
naum to axando o link de como fazer. hehehehehe
Eu axei um arquivo .jar aki mas naum sei se é esse
valow
gledson85
Andr?Heidi Moriya:
Olá Pessoal,
Viu como faz para baixa o hibernate do site?
naum to axando o link de como fazer. hehehehehe
Eu axei um arquivo .jar aki mas naum sei se é esse
Fiz o download hibernate aki e vi uma coisa interessante, pelo menos para mim. hhehehehe
vi aki a pasta de documentação e existe varias traduções inclusive para portugues!!!
Achei isso um tanto interessante ja que estou começa a aprender a mexer com hibernate heheheheh
Paulo_Silveira
Muda, bastante, escrevi um artigo sobre isso na penultima MundoJava. Realmente esta mais poderosa e mais interessante, mas precisa escrever mais… ainda mais se voce usar o metamodelo estático, que te garante type safety em 99% dos casos. Se usar o modelo baseado em Strings, vai ficar mais curto, mas, assim como a Criteria antiga, não te garante type safety.
Em tempos que muitos questionam pra que tanto type safety, ja que testamos muito o codigo, alguns dizem que muita gente vai preferir usar o modelo baseado em Strings mesmo.
sergiolopes
To tentando entender como ficou o suporte a entidades imutáveis, mas não achei muita coisa. Ele injeta via construtor com parâmetros? Injeta nos atributos, mesmo que sejam final? Ainda tenho que ter o construtor sem argumentos?
:arrow: Se vc nao deixar sua classe com o construtor padrao ele nao cria.
Caused by: java.lang.InstantiationException: br.com.caelum.bla.modelo.Modelo_$$_javassist_0
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:140)
... 10 more
Sim. Mas isso leva a uma coisa feia no seu código…
@Immutable@EntitypublicclassModelo{@Id@GeneratedValueprivatefinalIntegerid;privatefinalStringnome;privatefinalStringdescricao;publicModelo(Stringnome,Stringdescricao){this.id=null;//Esse ja vem null pra nao ficar passando id pro construtorthis.nome=nome;this.descricao=descricao;}//tem q ter esse construtor pra satisfazer o hibernateModelo(){this(null,null);}//getters}
A documentaçao lá sobre essa parte ta bem fraquinha mesmo
[]'s
LPJava
noticia boa, agora é so testar. presente de pascoa!
joaosouza
Show de Bola…Ótima Notícia !!!
chun
Alguem já fez um comparativo dele com o eclipselink ?
Paulo_Silveira
Comparei com EclipseLink depois de ter escrito o artigo pra revista, e os dois se comportaram da mesma maneira para varios testes com a nova criteria (eclipselink as vezes gerando queries menores, mas nao necessariamente melhores).
Só para constar: A data informada na abertura do tópico está errada. 31/03/2010
gabrielmskate
Sim. Mas isso leva a uma coisa feia no seu código…
@Immutable@EntitypublicclassModelo{@Id@GeneratedValueprivatefinalIntegerid;privatefinalStringnome;privatefinalStringdescricao;publicModelo(Stringnome,Stringdescricao){this.id=null;//Esse ja vem null pra nao ficar passando id pro construtorthis.nome=nome;this.descricao=descricao;}//tem q ter esse construtor pra satisfazer o hibernateModelo(){this(null,null);}//getters}
A documentaçao lá sobre essa parte ta bem fraquinha mesmo
[]'s[/quote]
Eu fiz um teste utilizando uma Entidade imutável com o Hibernate e VRaptor (com o IOGI: http://www.guj.com.br/posts/list/208491.java#1059421), e ele também funciona com o construtor privado.
Usando o exemplo dessa classe privada ficou assim: