VRaptor + Exemplo Mundo Java

Bom dia,

Estou realizando alguns testes no VRaptor, pois temos a vontade de trabalhar com um framework que seja mais eficiente do modo que trabalhos hoje (com o Struts e um framework próprio).
Comprei a Mundo Java, e dei uma primeira lida sobre os frameworks, e pelo que percebi, o VRaptor pode agilizar e muito o desenvolvimento de um sistema.
Entre no site e fiz o primeiro exemplo, tranquilo, funcionou perfeitamente. Peguei também o exemplo myDvds, para dar uma olhada, achei bem interessante este exemplo, sendo que é bem mais completo que o primeiro.
Quando fui fazer o exemplo que está na revista aconteceu o seguinte erro na hora da compilação.

O código e o seguinte:


 package br.com.g10.dao;
 
 import br.com.g10.produto.Produto;
 import java.util.List;
 import org.hibernate.Session;
 import org.hibernate.Transaction;
 
 
 
 /**
  *
  * @author Fernando
  */
 public class ProdutoDao {
     
     private final Session session;
     
     /** Creates a new instance of ProdutoDao */
     
        
     public ProdutoDao() {        
         this.session = HibernateUtil.getSession();
     }
     
     public void adiciona(Produto p){
         Transaction tx = session.beginTransaction();
         session.save(p);
         tx.commit();
     }
     
     public void atualiza(Produto p) {
         Transaction tx = session.beginTransaction();
         session.update(p);
         tx.commit();
     }
     
     public List<Produto> lista(){
         return session.createCriteria(Produto.class).list();
     }
     
 }
 

Compiling 1 source file to E:\projetos\mundojava\build\web\WEB-INF\classes
E:\projetos\mundojava\src\br\com\g10\dao\ProdutoDao.java:31: cannot find symbol
symbol : variable HibernateUtil
location: class br.com.g10.dao.ProdutoDao
this.session = HibernateUtil.getSession();
Note: E:\projetos\mundojava\src\br\com\g10\dao\ProdutoDao.java uses unchecked or unsafe operations.

Outra dúvida, os arquivos de mapeamento do Hibernate, onde ficam?

Se poderem me ajudar.

Opa!

Primeiramente, não estás fazendo o import do HibernateUtils. Segundo, não existe nenhuma classe HibernateUtils no VRaptor2, se eu me lembro, essa é uma classe a parte que foi usada para facilitar trabalho com o banco de dados. O VRaptor2 não se responsabiliza pelo trabalho com Hibernate A única coisa que eu me lembro, é que eles usam o Hibernate Validator para validar lógica. Dê uma olhadinha direito nisso.

Até!

Maquiavel,

Eu procurei a classe HibernateUtil e não achei. Porem no exemplo da Revista ele utiliza.
Eu peguei o outro exemplo também o mydvds e percebi que lá ele não utiliza. Porém, o método é diferente.
Percebi também que no exemploa inexistencia dos arquivos *.hbm
Qual biblioteca eu precisa adicionar ao projeto para poder importar o HibernateUtil.

Obrigado.

Nos exemplos do VRaptor2, eles usam Hibernate Annotations, na qual libera a construção de XMLs para os mapeamentos. HibernateUtil é uma factory camuflada, nada mais do que um configurador e métodos para abrir e fechar sessões, dá para fazer na mão.

Até!

Acho que a classe seria assim:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
	private static SessionFactory factory;
	static {
	   try {
	    factory = new Configuration().configure().buildSessionFactory();
	   } catch (Exception e) {
	           e.printStackTrace();
	           factory = null;
	   }
	}
	public static Session getSession() {
	   return factory.openSession();
	}
}

Cuidado só que se for usar o Hibernate Annotations pra mapear (deve estar assim na apostila), deve-se instanciar AnnotationConfiguration e não simplesmente Configuration.