Galera, tenho 2 classes entidades, PessoaFisica e Dependentes
onde se tem:
@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(cascade = CascadeType.ALL)
@JoinColumn(name = "id_dependentes")
private List<Dependentes> dependentes;
}
@Entity
public class Dependentes
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_dependentes", nullable = false)
private Integer idDependentes;
@Column(nullable = false)
private String nome;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id_pessoa_fisica")
private PessoaFisica pessoaFisica;
}
Quando faço uma consulta para retornar os dependentes cadastrados naquela PessoaFisica, e vou ler o List ele me retorna vazio, mas vejo pelo banco que possui, tá certinho, chave primária e estrangeira preenchida certo
public PessoaFisica buscaPessoa(Integer id)
{
factory = Persistence.createEntityManagerFactory("banco");
manager = factory.createEntityManager();
System.out.println("Vai ver o id: " + id);
PessoaFisica pessoaFisica = manager.find(PessoaFisica.class, id);
if(pessoaFisica.getDependentes().isEmpty())
{
System.out.println("Vazio");
}
else
{
System.out.println("cheio");
}
manager.clear();
manager.close();
factory.close();
return pessoaFisica;
}
Existe algum erro no código acima???