Erro ao escrever Json

Boa tarde.
Estou com o seguinte erro ao escrever o Json.

Could not write JSON: Invalid Object Id definition for br.com.claro.tcc.web.portalsega.model.Secretaria: cannot find property with name '@id'; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Invalid Object Id definition for br.com.claro.tcc.web.portalsega.model.Secretaria: cannot find property with name '@id' (through reference chain: java.util.ArrayList[0])

Classe Model:

    package br.com.claro.tcc.web.portalsega.model;

import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;

@Entity
@Table(name = "tb_sega_vip_sec")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class)
public class Secretaria implements Serializable {

	/*
	 * chave composta da tabela tb_sega_vip_sec
	 */


	
	@Id
	private String id_secretaria;

	private Integer tipo;
	
	private String id_vip;
	
	@ManyToMany(mappedBy = "secretarias", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
	@JsonIgnore
	private Set<Usuario> users = new HashSet<>();

	
	/**
	 * @param id_secretaria
	 * @param id_vip
	 * @param users
	 * @param tipo
	 */
	public Secretaria(String id_secretaria, String id_vip, Set<Usuario> users, Integer tipo) {
		super();
		this.id_secretaria = id_secretaria;
		this.id_vip = id_vip;
		this.users = users;
		this.tipo = tipo;
}

public Secretaria() {
	
}


public Set<Usuario> getUsers() {
	return users;
}

public void setUsers(Set<Usuario> users) {
	this.users = users;
}


public String getId_secretaria() {
	return id_secretaria;
}

public void setId_secretaria(String id_secretaria) {
	this.id_secretaria = id_secretaria;
}

public String getId_vip() {
	return id_vip;
}

public void setId_vip(String id_vip) {
	this.id_vip = id_vip;
}


public Integer getTipo() {
	return tipo;
}

public void setTipo(Integer tipo) {
	this.tipo = tipo;
}

}

Metodo no controller:

	@GetMapping(value = { "/obter/{perfil}" })
@ResponseBody
public ResponseEntity<?> usuario(HttpServletRequest request,
		@PathVariable(value = "perfil", required = true) String usuarioFind) {
	logger.info("[Recurso:/admin/usuario/{" + usuarioFind + "}, sessao:" + request.getSession().getId()
			+ ", usuario:" + request.getUserPrincipal().getName() + "]");
	try {
		Usuario usuario = null;
		Secretaria secretaria = null;
		List<Object> req = new ArrayList<Object>();
		
		usuario = serv.findOne(usuarioFind);
		secretaria = secServ.findOne(usuarioFind);
	
	//	req.add(usuario);
		req.add(secretaria);
		
		logger.info("[Recurso:/admin/usuario/{" + usuarioFind + "}, sessao:" + request.getSession().getId()
				+ ", usuario:" + request.getUserPrincipal().getName() + "]" + "[ParametrosResposta:{usuario:"
				+ usuario.getUsuario() + "}]");

		
		return new ResponseEntity<Object>(req, HttpStatus.OK);
	} catch (Exception e) {
		logger.error("[Recurso:/admin/usuario/{" + usuarioFind + "}, sessao:" + request.getSession().getId()
				+ ", usuario:" + request.getUserPrincipal().getName() + "]"
				+ "[ParametrosResposta:{msg: Não foi possivel obter o Usúario}]", e);
		return new ResponseEntity<String>("{\"msg\":\"Não foi possivel obter o Usúario\"}",
				HttpStatus.EXPECTATION_FAILED);
	}
}

Alguma sugestão de correção deste erro?

OBS: Ja tentei passar por JsonIgnore, mas não solucionou.

Encontrei a solução, foi anotar a classe model com

@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id_secretaria")

grato :smiley: