Não deleta registro JPA, tb não dá erro

Poxa sei que tu tá fazendo de tudo ae pra me ajudar, mas não entendo pq não tá indo, não tá dando erro

Fiz até uma classe aparte para testar


private EntityManagerFactory factory;
   
   private EntityManager manager;

   
   public static void main(String[] args)
   {
      TesteClasse testeClasse = new TesteClasse();
      PessoaFisica pessoaFisica = testeClasse.busca(2);
      
      List<Dependente> lista = pessoaFisica.getDependentes();
      Dependente dependente = lista.get(0);
// tá pegando e removendo certinho
      pessoaFisica.getDependentes().remove(dependente);
          
      
      testeClasse.alterarCadastro(pessoaFisica);
      
   
   }
   public PessoaFisica busca(Integer id)
   {
      factory = Persistence.createEntityManagerFactory("banco");
      manager = factory.createEntityManager();
   
      PessoaFisica pessoaFisica = manager.find(PessoaFisica.class, id);
         
      return pessoaFisica;
      
   }
   public boolean alterarCadastro(PessoaFisica pessoaFisica)
   {
      
      factory = Persistence.createEntityManagerFactory("banco");
      manager = factory.createEntityManager();
      
      EntityTransaction tx = manager.getTransaction();
      tx.begin();
      try
      {
         pessoaFisica = manager.merge(pessoaFisica);
         
         manager.persist(pessoaFisica);
         manager.flush();
         manager.clear();
         tx.commit();
      
      }
      catch (RuntimeException e)
      {
         tx.rollback();
         JOptionPane.showMessageDialog(null, e, "Erro!", 0);
         
         manager.close();
         factory.close();
         
         return false;
      }
      manager.close();
      factory.close();
      return true;
   }


@Entity
@Table(name = "dependentes")
public class Dependente
{
   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "id_dependentes", nullable = false)
   private Integer idDependentes;
   
   @Column(nullable = false)
   private String nome;
      
   @ManyToOne
   @JoinColumn(name = "id_pessoa_fis")
   private PessoaFisica pessoaFisica;
   
   // get e set

    public boolean equals(Object obj){
         if(obj != null && obj instanceof Dependente){
            Dependente dep = (Dependente) obj;

            return getIdDependentes()==dep.getIdDependentes();
         }

         return false;
      }

      public int hashCode(){
         return Integer.valueOf(getIdDependentes()).hashCode()*31;
      }
}

@Entity
@Table(name = "pessoa_fisica")
public class PessoaFisica
{
   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "id_pessoa_fisica", nullable = false)
   private Integer idPessoaFisica;
   
   @Column(nullable = false)
   private String nome;
   
   @OneToMany(mappedBy="pessoaFisica", cascade = CascadeType.ALL, fetch=FetchType.EAGER)
   private List<Dependente> dependentes;

 // get e set

Na tabela
–pessoa_fisica–
id_pessoa_fisica pk
nome

–Dependente–
id_dependente pk
nome
id_pessoa_fis fk

Olá,

Tente colocar além de cascadeAll coloque cascadeDelete. Geralmente ele só seta null, é um saco, pois não tem o esquema de delete all orphan…

:okok: