Vraptor - DatabaseInterceptor

Estou tentando fazer um interceptor que “commita” transações com o hibernate, peguei esse exemplo na documentação do Vraptor.

Esta dando problema na declaração:

Não sei se devo dar algum import pra usar “Database”, alguem pode me dar uma luz?

Obrigado!

segue a classe abaixo:

package br.com.caelum.goodbuy.interceptor;

import org.hibernate.Session;
import org.hibernate.Transaction;
import br.com.caelum.annotation.Transactional;
import br.com.caelum.vraptor.InterceptionException;
import br.com.caelum.vraptor.Intercepts;
import br.com.caelum.vraptor.core.InterceptorStack;
import br.com.caelum.vraptor.interceptor.Interceptor;
import br.com.caelum.vraptor.ioc.RequestScoped;
import br.com.caelum.vraptor.resource.ResourceMethod;

@RequestScoped
@Intercepts
public class TransactionInterceptor implements Interceptor  {
	
	private final Database controller;

    public TransactionInterceptor(Database controller) {
    	this.controller = controller;
    }        
        
    public void intercept(InterceptorStack stack, ResourceMethod method, Object instance) throws InterceptionException {
        try {
        	controller.beginTransaction();
        	stack.next(method, instance);
        	controller.commit();
        } finally {
        	if (controller.hasTransaction()) {
        		controller.rollback();
        	}
        	controller.close;
        }
    }
   
   	public boolean accepts(ResourceMethod method) {
   		return  true;
   	}    	
    
}

Você não precisa fazer nada disso porque o Vraptor já faz isso. Dê uma olhada nessa página que explica: http://vraptor.caelum.com.br/documentacao/componentes-utilitarios-opcionais/

Em resumo basta você adicionar isso no seu web.xml, para registrar o provider para hibernate.

<context-param> <param-name>br.com.caelum.vraptor.provider</param-name> <param-value>br.com.caelum.vraptor.util.hibernate.HibernateCustomProvider</param-value> </context-param>

Depois disso basta você receber uma Session no seu controler e a transação será controlada “automagicamente” pelo vraptor.

Obs: há um subfórum exclusivo para o Vraptor e outros frameworks brasileiros: http://guj.com.br/forums/show/23.java

Vou testar!!!

Obrigado pela dica!