Problema de resultado de consulta recursiva em um N:M

Olá, estou implementando um relacionamento N:M em um servidor com spring, utilizando REST.

Eu quero listar apenas os equipamentos e suas categorias.

e o resultado da consulta está assim:

{
“id”: 1,
“nome”: “Empilhadeira”,
“descricao”: “5.0 TON”,
“categorias”: [
{
“id”: 1,
“nome”: “Dimensões da Maquina AxLxC:”,
“descricao”: “2180MMx1180MMx1900MM”,
“equipamentos”: [
{
“id”: 1,
“nome”: “Empilhadeira”,
“descricao”: “5.0 TON”,
“categorias”: [
{
“id”: 1,
“nome”: “Dimensões da Maquina AxLxC:”,
“descricao”: “2180MMx1180MMx1900MM”,
“equipamentos”: [
{
“id”: 1,
“nome”: “Empilhadeira”,
“descricao”: “5.0 TON”,
“categorias”: [
{
“id”: 1,
“nome”: “Dimensões da Maquina AxLxC:”,
“descricao”: “2180MMx1180MMx1900MM”,
“equipamentos”: [

Na classe equipamento:
@ManyToMany
@JoinTable(name = “equipamentos_categorias”, joinColumns = {
@JoinColumn(name = “id_equipamento”) }, inverseJoinColumns =
{@JoinColumn(name=“id_categoria_equipamentos”)})
private List categorias;

Na categoria:
@ManyToMany(mappedBy = “categorias”)
private List equipamentos;

No filtro de pesquisa:
@Override
public List filtra(EquipamentoFilter filtro) {
CriteriaBuilder builder = this.manager.getCriteriaBuilder();
CriteriaQuery criteria = builder.createQuery(Equipamento.class);

	Root<Equipamento> root = criteria.from(Equipamento.class);

	Predicate[] predicates = criaRestricoes(filtro, builder, root);

	criteria.where(predicates);

	TypedQuery<Equipamento> query = this.manager.createQuery(criteria);

	return query.getResultList();
}

private Predicate[] criaRestricoes(EquipamentoFilter filtro, CriteriaBuilder builder, Root<Equipamento> root) {

	List<Predicate> predicates = new ArrayList<Predicate>();

	if (!StringUtils.isEmpty(filtro.getNome())) {
		predicates.add(builder.like(builder.lower(root.get(Equipamento_.NOME)),
				"%" + filtro.getNome().toLowerCase() + "%"));
	}

	if (!StringUtils.isEmpty(filtro.getDescricao())) {
		predicates.add(builder.like(builder.lower(root.get(Equipamento_.DESCRICAO)),
				"%" + filtro.getDescricao().toLowerCase() + "%"));
	}

	return predicates.toArray(new Predicate[predicates.size()]);
}

Já tentei com e sem o @EntityGraph, puro e com a string do nome da lista de categorias