Novo erro [RESOLVIDO]

6 respostas
Jarf

Estou eu aqui novamente :S
Agora estou tentando adicionar na tabela tabela mas esta dando um erro.

Classe Tabela
@Entity
public class Tabela {
	
	@Id @GeneratedValue
	private Long idtabela;
	
	@Column (nullable = true, length = 50)
	private String nome;
	
	
	public Long getIdtabela() {
		return idtabela;
	}
	public void setIdtabela(Long idtabela) {
		this.idtabela = idtabela;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	

}
TabelaDAO
public class TabelaDAO {
	
	private Session session;
	
	public  TabelaDAO (Session session){
		
		this.session = session;
	}
	

	public void salvar(Tabela t) {
		
		session.beginTransaction();
		session.save(t);
		session.getTransaction().commit();
	}
	
	public void remover(Tabela t) {
		
		session.beginTransaction();
		session.delete(t);
		session.getTransaction().commit();
	}
	
	public Tabela procurar (int idTabela) {
		
		return (Tabela) this.session.load(Tabela.class, idTabela);
	}
	
	public void atualizar(Tabela t) {
		
		session.beginTransaction();
		session.update(t);
		session.getTransaction().commit();
	}
	
	public List<Tabela>  listatudo() {
		
		return this.session.createCriteria(Tabela.class).list();
	}
	
	public List<Tabela> pagina(int inicio, int quantia) {
		
		return this.session.createCriteria(Tabela.class).setMaxResults(quantia).setFirstResult(inicio).list();
	}

}
Classe para salvar na tabela
public class AdicionarTabela {

	
	public static void main(String[] args) {
		
		Session session = new HibernateFactory().getSession();
		
		Tabela t = new Tabela();
		t.setNome("Produto");
		
		TabelaDAO tabelaDAO = new TabelaDAO(session);
		tabelaDAO.salvar(t);
		
		session.close();

	}

}
Está dando erro na seguinte linha:
TabelaDAO tabelaDAO = new TabelaDAO(session);

para ser + preciso, o erro q mostra eh em new TabelaDAO(session)

Podem me ajudar, por favor?

Obrigado!!!
[]'s

6 Respostas

L

pode postar o erro aí?

Jarf
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The constructor TabelaDAO(Session) is undefined

	at dominio.AdicionarTabela.main(AdicionarTabela.java:17)
L

O objeto session que vc utiliza para inicializar o DAO e o mesmo objeto session que utiliza dentro da classe DAO?
Pois existem vários tipos de Objetos Session

Jarf

Verdade, tem outras duas classes DAO q estão com session assim tbm…
O que eu posso fazer para resolver isso?
eu mudei para session2, mas nao resolveu… continuou com erro ;/

[]'s

Jarf
eu alterei a tabela DAO da seguinte forma:
public class TabelaDAO {
	
	private Session session2;
	
	public  TabelaDAO (Session session2){
		
		this.session2 = session2;
	}
	

	public void salvar(Tabela t) {
		
		session2.beginTransaction();
		session2.save(t);
		session2.getTransaction().commit();
	}
// o resto para baixo tbm foi alterado
e a classe adicionar ficou da seguinte forma:
public class AdicionarTabela {

	
	public static void main(String[] args) {
		
		Session session2 = new HibernateFactory().getSession();
		
		Tabela t = new Tabela();
		t.setNome("Produto");
		
		TabelaDAO tabelaDAO = new TabelaDAO(session2);
		tabelaDAO.salvar(t);
		
		session2.close();

	}

}

está dando o mesmo erro :(
o que estou fazendo de errado?

Jarf

COnseguii...
Ao invés de usar a classe DAO, eu usei a propria Session ;D

public class AdicionarTabela {

	
	public static void main(String[] args) {
		
		Session session2 = new HibernateFactory().getSession();
		
		Tabela t = new Tabela();
		t.setNome("Produto3");
		
		//TabelaDAO tabelaDAO = new TabelaDAO(session2);
		//tabelaDAO.salvar(t);
		
		session2.beginTransaction();
		session2.save(t);
		session2.getTransaction().commit();
		
		session2.close();

	}

ta ai pra quem tiver a mesma dúvida ;D

[]'s

Criado 13 de outubro de 2008
Ultima resposta 13 de out. de 2008
Respostas 6
Participantes 2