To com um erro aqui que não estou consseguindo identificar.
Estou usando hibernate para persistir os dados de uma aplicação. Tenho duas classes uma é o meu objeto DAO que é responssavel por dar os comandos de gravação, exclusão e atualização e aoutra é a minha classe HibernateUltil que é responssavel por criar e abrir novas sessões com a classe SessionFactory.
A minha classe DAO chama a classe HibernateUltil para que ela lhe entrege um objeto da classe SessionFactory. É justamente nessa chamada que está o meu erro.
Minha classe DAO
package br.com.tubalan.extra;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Example;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
/**
*
* @author Matheus
*/
public class Dao<Dao> implements Daointerface{
private final Session sessao;
Transaction tz = null;
private Dao dao;
public Dao(Dao dao){
this.sessao = HibernateUltil(dao.getClass()).getSessao();
this.dao = dao;
}
public void Grava() {
try{
tz = sessao.beginTransaction();
sessao.saveOrUpdate(dao);
tz.commit();
}
catch(Exception erro){
System.out.println("Erro ao gravar dados "+erro);
}
}
public void Exclui() {
try{
tz = sessao.beginTransaction();
sessao.delete(dao);
tz.commit();
}
catch(Exception erro){
System.out.println("Erro ao excluir dados "+erro);
tz.rollback();
}
}
public List Consulta() {
List lista = sessao.createCriteria(dao.getClass()).list();
return lista;
}
public List ConsultaOrdenada(String coluna, boolean ordem) {
List lista;
if(ordem){
lista = sessao.createCriteria(dao.getClass()).addOrder(Order.asc(coluna)).list();
} else {
lista = sessao.createCriteria(dao.getClass()).addOrder(Order.desc(coluna)).list();
}
return lista;
}
public List ConsultaPerssonalizada(String coluna, int inicio, int fim) {
List lista = sessao.createCriteria(dao.getClass()).
add(Restrictions.between(coluna, inicio, fim)).list();
return lista;
}
public List ConsultaPerssonalizada(String coluna, String[] quecontenha) {
List lista = sessao.createCriteria(dao.getClass()).
add(Restrictions.in(coluna, quecontenha)).list();
return lista;
}
public List ConsultaPerssonalizada(String coluna, String filtro) {
List lista = sessao.createCriteria(dao.getClass()).
add(Restrictions.like(coluna, filtro)).list();
return lista;
}
public List ConsultaExample() {
List lista = sessao.createCriteria(dao.getClass()).add(Example.create(dao)).list();
return lista;
}
}
minha classe HibernateUltil
package br.com.tubalan.extra;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
/**
*
* @author Matheus
*/
public class HibernateUltil {
private static SessionFactory sessao;
private static Class classe;
public HibernateUltil(Class classe){
HibernateUltil.classe = classe;
}
static{
sessao = new AnnotationConfiguration().addAnnotatedClass(classe).buildSessionFactory();
}
public static Session getSessao(){
return sessao.openSession();
}
}
abaixo segue o erro gerado pelo netbeans
init:
deps-clean:
Updating property file: C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\build\built-clean.properties
Deleting directory C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\build
clean:
init:
deps-jar:
Created dir: C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\build
Updating property file: C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\build\built-jar.properties
Created dir: C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\build\classes
Created dir: C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\build\empty
Compiling 30 source files to C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\build\classes
C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\src\br\com\tubalan\extra\Dao.java:27: cannot find symbol
symbol : method HibernateUltil(java.lang.Class<capture#870 of ? extends java.lang.Object>)
location: class br.com.tubalan.extra.Dao<Dao>
this.sessao = HibernateUltil(dao.getClass()).getSessao();
Note: C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\src\br\com\tubalan\teste\testeGravacao.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\nbproject\build-impl.xml:413: The following error occurred while executing this line:
C:\Users\Matheus\Documents\NetBeansProjects\Tubalan\nbproject\build-impl.xml:199: Compile failed; see the compiler error output for details.
FALHA NA CONSTRUÇÃO (tempo total: 1 segundo)