I'm doing a little program to practice spring boot
I have these two entities
package com.sistema.escuela.models;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
@Entity
@Table(name="familiares")
public class Familiar implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String nombre;
@Column
private String apellido;
@Column
private String celular;
@Column(name="telefono_alterno")
private String telefonoAlterno;
@Column
private String domicilio;
@Column
private String localidad;
@Column(name="fecha_nacimiento")
@Temporal(TemporalType.DATE)
private Date fechaNacimiento;
@ManyToMany(fetch = FetchType.EAGER, mappedBy = "familiares")
private List<Alumno> alumnos= new ArrayList<Alumno>();
public Familiar() {
super();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getTelefonoAlterno() {
return telefonoAlterno;
}
public void setTelefonoAlterno(String telefonoAlterno) {
this.telefonoAlterno = telefonoAlterno;
}
public String getDomicilio() {
return domicilio;
}
public void setDomicilio(String domicilio) {
this.domicilio = domicilio;
}
public String getLocalidad() {
return localidad;
}
public void setLocalidad(String localidad) {
this.localidad = localidad;
}
public Date getFechaNacimiento() {
return fechaNacimiento;
}
public void setFechaNacimiento(Date fechaNacimiento) {
this.fechaNacimiento = fechaNacimiento;
}
/**
*
*/
private static final long serialVersionUID = 1L;
}
and this class:
package com.sistema.escuela.models;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
@Entity
@Table(name="alumnos")
public class Alumno implements Serializable {
@Id
@GeneratedValue(strategy =GenerationType.IDENTITY)
private Long legajo;
@Column
private String nombre;
@Column
private String apellido;
@Column(name="fecha_nacimiento")
@Temporal(TemporalType.DATE)
private Date fechaNacimiento;
@Column(name="lugar_nacimiento")
private String lugarNacimiento;
@Column
private String domicilio;
@Column
private String localidad;
@Column(name="telefono_emergencia")
private String telefonoEmergencia;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "alumno_familiar", joinColumns = {
@JoinColumn(name = "alumno_legajo", nullable = false,
updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "familiar_id",
nullable = false, updatable = false) })
private List<Familiar> familiares =new ArrayList<Familiar>();;
public Alumno() {
}
public Long getLegajo() {
return legajo;
}
public void setLegajo(Long legajo) {
this.legajo = legajo;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public Date getFechaNacimiento() {
return fechaNacimiento;
}
public void setFechaNacimiento(Date fechaNacimiento) {
this.fechaNacimiento = fechaNacimiento;
}
public String getLugarNacimiento() {
return lugarNacimiento;
}
public void setLugarNacimiento(String lugarNacimiento) {
this.lugarNacimiento = lugarNacimiento;
}
public String getDomicilio() {
return domicilio;
}
public void setDomicilio(String domicilio) {
this.domicilio = domicilio;
}
public String getLocalidad() {
return localidad;
}
public void setLocalidad(String localidad) {
this.localidad = localidad;
}
public String getTelefonoEmergencia() {
return telefonoEmergencia;
}
public void setTelefonoEmergencia(String telefonoEmergencia) {
this.telefonoEmergencia = telefonoEmergencia;
}
public List<Familiar> getFamiliares() {
return familiares;
}
public void setFamiliares(List<Familiar> familiares) {
this.familiares = familiares;
}
/**
*
*/
private static final long serialVersionUID = 1L;
}
As you can see I have a relationship of many to many.
the question is that the exit to this:
@GetMapping("/familiares")
public List<Familiar> getFamiliares()
{
List<Familiar> lista =service.findAll();
return lista;
}
is this:
[
{
"id": 1,
"nombre": "nombre1",
"apellido": "apellido1",
"celular": "1111111",
"telefonoAlterno": "11111",
"domicilio": "avellaneda",
"localidad": "avellaneda",
"fechaNacimiento": "2018-08-01T03:00:00.000+0000"
},
{
"id": 2,
"nombre": "nombre2",
"apellido": "apellido2",
"celular": "1111111",
"telefonoAlterno": "11111",
"domicilio": "avellaneda",
"localidad": "avellaneda",
"fechaNacimiento": "2018-08-01T03:00:00.000+0000"
},
{
"id": 3,
"nombre": "nombre3",
"apellido": "apellido3",
"celular": "1111111",
"telefonoAlterno": "11111",
"domicilio": "avellaneda",
"localidad": "avellaneda",
"fechaNacimiento": "2018-08-01T03:00:00.000+0000"
},
{
"id": 4,
"nombre": "nombre4",
"apellido": "apellido4",
"celular": "1111111",
"telefonoAlterno": "11111",
"domicilio": "avellaneda",
"localidad": "avellaneda",
"fechaNacimiento": "2018-08-01T03:00:00.000+0000"
},
{
"id": 5,
"nombre": "nombre5",
"apellido": "apellido5",
"celular": "1111111",
"telefonoAlterno": "11111",
"domicilio": "avellaneda",
"localidad": "avellaneda",
"fechaNacimiento": "2018-08-01T03:00:00.000+0000"
}
]
I do not understand why it does not show in the json the list of students of the relative because debugging I detect if it brings them (and of course they exist in the base)