Dados deletados via comando MySql continuam aparecendo na aplicação WEB

2 respostas
C

Boa tarde. Desenvolvi uma pequena aplicação com Hibernate e VRaptor e após testar todas as funcionalidades, resolvi deletar os dados da tabela para repopulá-la. Porém, para minha surpresa, os dados deletados (via comando MySQL e conferidos com o select) continuam aparecendo na minha aplicação web. Podem me ajudar?

package dao;

import modelo.Soft;
import modelo.Usuario;

import org.hibernate.Session;
import org.hibernate.Transaction;

import util.HibernateUtil;

public class DaoFactory {
	private final Session session;
	private Transaction transaction;
	public DaoFactory() {
	session = HibernateUtil.getSession();
	}
	public void beginTransaction() {
	this.transaction = this.session.beginTransaction();
	}
	public void commit() {
	this.transaction.commit();
	this.transaction = null;
	}
	public boolean hasTransaction() {
	return this.transaction != null;
	}
	public void rollback() {
	this.transaction.rollback();
	this.transaction = null;
	}
	public void close() {
	this.session.close();
	}
	public UsuarioDao getUsuarioDao() {
		return new UsuarioDao(this.session);
		}
	public Dao<Soft> getSoftDao() {
		return new Dao<Soft>(this.session, Soft.class );
		}
}
package dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

public class Dao<T> {
	protected Session getSession() {
		return session;
		}
	public float soma;
	private final Session session;
	private final Class classe;
	Dao(Session session, Class classe) {
	this.session = session;
	this.classe = classe;
	}
	public void adiciona(T u) {
	this.session.save(u);
	}
	public void remove (T u) {
	this.session.delete(u);
	}
	public void atualiza (T u) {
	this.session.merge(u);
	}
	public List<T> listaTudo() {
	return this.session.createCriteria(this.classe).list();
	}
	public List<T> listaTrue() {
		return this.session.createQuery("from modelo.Soft where padrao=true").list();
	}
	public List<T> listaFalse() {
		return this.session.createQuery("from modelo.Soft where padrao=false").list();
	}
	public T listaPreco(Long id) {
	return (T) session.load(this.classe, id);
	}
	public T procura(Long id) {
	return (T) session.load(this.classe, id);
	}
//	public Query soma(){
//		return soma = this.session.createQuery("select sum(custo) as custo from modelo.Soft");
//	}
	public List<T> listaCusto () {
		return this.session.createQuery("select sum(custo) as custo from modelo.Soft").list();
		//soma = Double.parseDouble(this.session.createQuery("select sum(custo) as custo from modelo.Soft"));
	}
}

2 Respostas

bruxel

vc por acaso não esta utilizando controle por transação no mysql verifique isto.

talvez tenha faltado de comitar a query

fiaux

Ia responder a mesma coisa, verifique o commit.

Criado 28 de abril de 2008
Ultima resposta 28 de abr. de 2008
Respostas 2
Participantes 3