Olá!
Estou desenvolvendo uma API usando Spring Boot.
Defini o seguinte relacionamento entre as classes Vaga e Candidato.
Classe Vaga
@Entity
public class Vaga {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name="cargo", nullable = false, length = 50)
private String cargo;
@Column(name="descricao", nullable = false, length = 100)
private String descricao;
@Temporal(TemporalType.DATE)
@Column(name="dt_vencimento")
private Calendar dataVencimento;
@OneToMany(mappedBy = "vaga", fetch = FetchType.LAZY)
private List<Candidato> candidatos;
Classe Candidato
@Entity
public class Candidato {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name="cpf", nullable = false, length = 11)
private String cpf;
@Column(name="nome", nullable = false, length = 100)
private String nome;
@Column(name="telefone", nullable = false, length = 11)
private String telefone;
@ManyToOne(fetch = FetchType.LAZY)
private Vaga vaga;
Ao chamar a API o resultado é isso, mesmo colocando fetchType.LAZY
parte do Json ....
[
{
"id": 1,
"cargo": "programador",
"descricao": "programador",
"dataVencimento": "2020-05-01T03:00:00.000+0000",
"candidatos": [
{
"id": 1,
"cpf": "11111111111",
"nome": "tiago",
"telefone": "11111111111",
"vaga": {
"id": 1,
"cargo": "programador",
"descricao": "programador",
"dataVencimento": "2020-05-01T03:00:00.000+0000",
"candidatos": [
{
"id": 1,
"cpf": "11111111111",
"nome": "tiago",
"telefone": "11111111111",
"vaga": {
"id": 1,
"cargo": "programador",
"descricao": "programador",
"dataVencimento": "2020-05-01T03:00:00.000+0000",
"candidatos": [
{
"id": 1,
"cpf": "11111111111",
"nome": "tiago",
"telefone": "11111111111",
"vaga": {
O que devo fazer????? Independente se consulto por vaga ou por candidato retorna esse json quase infinito....
Eu gostaria de :
- listar todos os candidatos por vaga
- listar candidato e mostrar os dados da vaga conforme o relacionamento biredicional feitos na classe utilizando JPA.