Opa,
Galera, tenho a seguinte dúvida e gostaria da ajuda de vocês.
Faço o seguinte comando:
this.usuarioRepository.findById(id).get();
Sendo que a classe que retorno tem o seguinte mapeamento:
@Entity
@Table(name=“usuario”)
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@Column(name="primeironome", nullable=false, length=50)
@NotNull
@Size(min = 2, max = 50)
private String nome;
@Column(name="sobrenome", length=100)
@Size(max = 100)
private String sobreNome;
@OneToMany(mappedBy="usuario", fetch=FetchType.LAZY)
private List<Telefone> telefones;
E a classe Telefone:
@Entity
@Table(name=“telefone”)
public class Telefone implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@Column(nullable=false)
@NotNull
private Integer ddd;
@Column(nullable=false)
@NotNull
private Integer numero;
@Column(length=50)
@Size(max = 50)
private String ramal;
@ManyToOne
@JoinColumn(name="fkeusuario", nullable=false)
@NotNull
private Usuario usuario;
Quando executo o findById que mencionei acima, é retornado algo como:
Nome do Usuario
Sobrenome do usuário
Telefone 1
Nome do Usuario
Sobrenome do usuário
Telefone 1
Nome do Usuario
Sobrenome do usuário
Ou seja, retorna o usuário, os telefones do usuário e ai começa um loop.
Minha dúvida é, como poderia fazer para retornar os dados do usuário e os telefones, mas ignorando o atributo usuário dentro do telefone, para não entrar em loop?