Ir ao conteúdo
  • Cadastre-se

Java Java Hibernate Método excluir não está excluindo o objeto.


Posts recomendados

Olá pessoa, estou começando a sair do java básico e indo para um pouquinho do avançado. Estou com dificuldades em excluir um objeto de banco de dados. Consigo salvar o objeto sem problemas, porém não consigo exclui-lo do banco. Aparece a seguinte informação no final da execução: INFO: HHH000114: Handling transient entity in delete processing. Podem me dar um alerta sobre o possível erro ? grato. 

 

 

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

	<session-factory>

		<!-- Configurações de Conexão com o Banco de Dados -->
		<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://127.0.0.1:3306/locadora?serverTimezone=UTC</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>

		<!-- Pool de Conexões -->
		<property name="connection.pool_size">1</property>

		<!-- SQL dialect -->
		<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

		<!-- Gerenciamento do Contexto das Sessões -->
		<property name="current_session_context_class">thread</property>

		<!-- Cache de Segundo Nível -->
		<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

		<!-- Mostra as SQLs Geradas -->
		<property name="show_sql">true</property>

		<!-- Cria as tabelas do banco de dados
		 <property name="hbm2ddl.auto">create</property>-->
		<!-- Compara a entidade com o que existe no banco de dados validate/update
		<property name="hbm2ddl.auto">update</property>-->
		
		
		 
		
	</session-factory>

</hibernate-configuration>

 

Repositório

public class RepositorioUsuario extends GenericRepository<Usuario> implements IUsuarioRepositorio {


	public void salvar(Usuario usuario) {
		Session sessao = HibernateUtil.getSessionFactory().openSession();
		Transaction transacao = null;
		try {
			transacao = sessao.beginTransaction();
			sessao.save(usuario);
			System.out.println("Usuário salvo com sucesso");
			transacao.commit();
		} catch (RuntimeException e) {
			System.out.println("GerericRepository.salvar" + e.toString());
			// TODO: handle exception
			if (transacao != null)
				transacao.rollback();
			throw e;
		} finally {
			sessao.close();
		}

	}

	public boolean remover(Usuario usuario) {

		Session sessao = HibernateUtil.getSessionFactory().openSession();
		Transaction transacao = null;
		try {
			transacao = sessao.beginTransaction();

			sessao.delete(usuario);
			transacao.commit();

		} catch (RuntimeException e) {
			System.out.println(e.toString());
			// TODO: handle exception
			if (transacao != null)
				transacao.rollback();
			throw e;
		} finally {
			sessao.close();
		}
		return true;

	}

	}

Usuário

@Entity
public class Usuario extends Pessoa {
	private int codigo;

	public Usuario(String nome, String cpf, String telefone, int codigo) {
		super(nome, cpf, telefone);
		this.codigo = codigo;
	}


	public Usuario() {

	}

	@Override
	public boolean equals(Object obj) {
		Usuario usuario = (Usuario) obj;

		if (usuario.getCpf().equals(this.getCpf())) {
			return true;
		}
		return false;

	}

	@Override
	public String toString() {
		return "Usuario" + "Nome: " + getNome() + "CPF: " + getCpf() + "Telefone: " + getTelefone();
	}

Teste


	public static void main(String[] args) {

		
		Usuario usuario = new Usuario("José Maria", "12026161458", "998771084", 2);
		
		RepositorioUsuario repositorio = new RepositorioUsuario();
		//repositorio.salvar(usuario);
		repositorio.remover(usuario);
		
	
		


	}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...