opa! Pessoal,
O post de hoje é bem pequeno, porém importante para quem for usar o Hibernate 3.6/superior. Venho utilizando o versao 3.2 por um bom tempo devido aos projetos que tenho atuado está usando a 3.2. Daí surgiu um novo projeto e então na definição optei em usar a versão mais recente e estável o Hibernate 3.6.x confesso que não tenho acompanhado os release de cada versão e ao usar descubro mudanças à nível de code, principalmente da forma que faziamos na 3.2 uma delas foi com o new AnnotationConfiguration() e hoje vamos ver o que mudou.
Lets go…
Saiba mais: www.hibernate.org
Starting
Aqui no blog há vários posts usando Hibernate com AnnotationsConfiguration. Mas, para quem estiver com a versão mais recente do Hibernate terá que mudar apenas uma linha de código, pois a classe AnnotationsConfiguration que era filha de Configuration foi deprecated pelo team do Hiberante, então nada de informar que vai usar annotations usando essa classe, agora é com a classe pai Configuration.
Os Impactos
Não é um impacto muito grande, uma vez que vai precisa apenas alterar uma linha do seu código, caso você venha da versão 3.2 para 3.6. Porém, o esquecimento de alterar o código e somente adicionar as os novos .jars , farão seu build quebrar :).
Na Pratica
A seguir mostro a forma na versão 3.2 e 3.6 que você vai alterar no seu DAO.
Versão 3.2
public class DAO {
private static final SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
//mais code
}
Versão 3.6
public class DAO {
private static final SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
//mais code
}
Espero que tenham gostado da dica, mas é vivendo e aprendendo, principalmente quando não acompanhamos as releases, hehe.
Vou ficando por aqui, see you next post.
Abracos,
Vlw Camilo no meu projeto estava deprecated tb o AnnotationConfiguration e agora msm vou la mudar, brigado.
Bom dia Camilo, gostaria de tirar uma dúvida com você, eu estou tentando criar um método que verifica se um objeto já existe na tabela, ele passa dois parâmetros, um Integer e uma String, (mas poderiam ser mais campos).
Eu to querendo fazer com o critéria, mas eu não sei como usa-lo direito, eu teria que fazer um and com o critéria mas como eu faria isso?
lembrando que eu estou passando os dois valores do select através do argumento do método.
desde já agradeço
olá Souza,
vc nao tem como verificar um objeto na tabela, pq na tabela nao armazenamos objetos, são campos normais, o que vc precisa, é usar fazer uma consultar normal, e usar o select para retornar os campos esperados. pode ser com criteria ou hql:
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querycriteria.html
Camilo boa noite.
Esse su tópico foi 10! Resolveu um problema que eu estava tendo.
Valeu!