Ir ao conteúdo

Posts recomendados

Postado

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);
		
	
		


	}

 

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!