JavaWeb - Hibernate MÉTODO REMOVE

gente, estou tentando usar o método remove que o hibernate fornece, porém não está funcionando de jeito nenhum. alguém sabe dizer o que é ?segue o códgio do meu método e o erro que o console retornar.

public void  delete(int user)  {
	Consultar consulta = new Consultar ();
	
	//Long primaryKey = Long.parseLong(user);

	
	EntityManager entity = consulta.getEntityManager();
	
	System.out.println("usuário deletado"+user);

  
	entity.getTransaction().begin();
	entity.remove(user);
	entity.getTransaction().commit();
}

Caused by: java.sql.SQLException: Cannot add foreign key constraint
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)

alguém??

Bom dia!

A resposta está bem clara no seu trace. Vc quer remover um item que tem um relacionamento de chave esrtangeira em outra tabela.

Para conseguir isso, vc vai ter que utilizar um cascade ou, fazer no método “raiz” que é vc remover primeiro da tabela de relacionamento fraco pra depois remover na tabela de relacionamento forte.

mas a tela de usuário não tem foreign key com nada.
está estranho…

O problema não está na sua tela e sim nos relacionamentos que vc criou ou alguém criou na sua modelagem de dados.
Se vc está utilizando jdbc, vai ter que se preocupar somente com as tabelas do banco e como elas estão relacionadas.
Se vc está utilizando Hibertante/OpenJPA, verifique seus mapeamentos. O trace não mente. Pelo contrário. Ele é o melhor amigo do programador na hora de procurar problemas no código-fonte.

esse projeto é um projeto simples de faculdade. foi eu que fiz o sistema.
a tabela não possui relacionamento nenhum. só uso ela pra inserir registros e validar sessão.

Como está o User?

Dê uma olhada nesse post. Talvez te ajude:

Já aconselhamos várias vezes, dá uma estudada ou pelo menos pesquise exemplos antes de fazer as coisas, vai perder mais tempo indo na base do chute. Olhando seu código parece que está na base do chute.

1 curtida