Bom galera, sou iniciante. A situação é que peguei um caso de uso do Hibernate e coloquei no netbeans 6.1. com isso apresentou o seguinte erro quando pesso pra compilar a class com o metodo main:
init:
deps-jar:
Compiling 1 source file to C:\NetBeansProjects\itamEsto\build\classes
Note: C:\NetBeansProjects\itamEsto\src\hiber\AplicacaoTexto.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
compile-single:
BUILD SUCCESSFUL (total time: 0 seconds)
Acredito que seja algum problema com uso de Strings.
Se tento executar a mesma classe, mesmo não compilando, dar o seguinte erro:
eps-jar:
compile-single:
run-single:
Exception in thread “main” java.lang.NullPointerException
at hiber.FuncionarioHibernateDAO.gravar(FuncionarioHibernateDAO.java:49)
at hiber.AplicacaoTexto.main(AplicacaoTexto.java:38)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
minha classe DAO é a seguinte:
import java.util.List;
import java.util.Set;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.*;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.Criteria;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
/**
*
* @author administrador
*/
public class FuncionarioHibernateDAO implements FuncionarioDAO {
private HibernateConfiguracao hibernateConfiguracao;
public FuncionarioHibernateDAO(){
super();
hibernateConfiguracao = new HibernateConfiguracao();
}
public Funcionario carregaUm(String nome) throws HibernateException {
Session session = hibernateConfiguracao.openSession();
Transaction transaction = session.beginTransaction();
Criteria criteria = session.createCriteria(Funcionario.class);
criteria.add(Expression.eq("nome", nome));
Funcionario funcionario = (Funcionario)criteria.uniqueResult();
transaction.commit();
session.close();
return funcionario;
}
public List carregarTudoOrdenadoNome()throws HibernateException{
Session session = hibernateConfiguracao.openSession();
Criteria criteria = session.createCriteria(Funcionario.class);
criteria.addOrder(Order.asc("nome"));
return criteria.list();
}
public void gravar(Funcionario funcionario) throws HibernateException{
Session session = hibernateConfiguracao.openSession();
Transaction transaction=session.beginTransaction();
session.update(funcionario);
transaction.commit();
session.close();
}
public void excluir(Funcionario funcionario) throws HibernateException{
Session session = hibernateConfiguracao.openSession();
Transaction transaction = session.beginTransaction();
session.delete(funcionario);
transaction.commit();
session.close();
}
public Funcionario carregarUm(String nome) throws HibernateException {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Minha classe Aplicação teste é:
import java.util.List;
import javax.swing.JOptionPane;
import org.hibernate.HibernateException;
/**
*
* @author administrador
*/
public class AplicacaoTexto {
public AplicacaoTexto(){
}
public static void main(String[] args){
//Uma instancia de factory que será a nossa fabrica de classes
DAOFactory factory = FactoryClasses.criarDAOFactory(FactoryClasses.POSTGRESQL);
//Uma instancia do DAO que contem os metodos responsaveis pela
//gravaçao, leitura e exclusao dos dados persistentes
FuncionarioHibernateDAO funcionarioHibernateDAO = new FuncionarioHibernateDAO();
//Funcionario que será persistido
Funcionario funcionario = new Funcionario();
//Funcionario que será excluido
Funcionario func = new Funcionario();
//Instanciar um novo funcionario e persistir no banco
funcionario.setId(101);
funcionario.setNome("Joana");
funcionario.setCargo("Tecnico Informatica");
funcionario.setSalario(432.21);
funcionario.setHorasExtras(0);
//Instanciar um novo funcionario e persistir no banco
try{
funcionarioHibernateDAO.gravar(funcionario);
}catch(HibernateException e){
System.out.println("Não foi persistido.");
e.printStackTrace();
}
//Listar todos os funcionarios
try{
List<Funcionario> listFuncionario;
listFuncionario = funcionarioHibernateDAO.carregarTudoOrdenadoNome();
System.out.println("Todos os funcionarios ordenados por nome");
for (Funcionario funcList: listFuncionario){
System.out.println("--------------------------------");
System.out.println("Id.................: " +funcList.getId());
System.out.println("Nome...............: " +funcList.getNome());
System.out.println("Cargo..............: " +funcList.getCargo());
System.out.println("Salário............: " +funcList.getSalario());
System.out.println("Hora Extra.........: " +funcList.getHorasExtras());
}
} catch(HibernateException e){
System.out.println("Não foi possivel recuperar todos os funcionarios.");
e.printStackTrace();
}
//Carregar apenas um dado de um funcionario
try{
String nome = JOptionPane.showInputDialog(null, "informe o nome");
func = funcionarioHibernateDAO.carregaUm(nome);
if (func != null){
System.out.println("Funcionario encontrado!");
System.out.println("--------------------------------");
System.out.println("Id.................: " +func.getId());
System.out.println("Nome...............: " +func.getNome());
System.out.println("Cargo..............: " +func.getCargo());
System.out.println("Salário............: " +func.getSalario());
System.out.println("Hora Extra.........: " +func.getHorasExtras());
}else{
System.out.println("Funcionario não encontrado!");
}
} catch(HibernateException e){
System.out.println("Não foi possivel recuperar os dados de apenas um funcionarios.");
e.printStackTrace();
}
//Excluir o funcionario recuperado anteriormente
try{
funcionarioHibernateDAO.excluir(func);
} catch(HibernateException e){
System.out.println("Não foi possivel recuperar os dados de apenas um funcionarios.");
e.printStackTrace();
}
}
}
Agradeço desde já a ajuda.
Abraços