Проблема сопоставления атрибутов Джексона с Hibernate
Я много исследовал, но ни одно из решений, которые я пытался реализовать, не сработало... У меня есть класс ниже, который имеет много отношений @JoinColumn @ManyToOne:
public class Consultas implements Serializable {
@Basic(optional = false)
@Column(name = "status")
private boolean status;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idconsultas")
private Integer idconsultas;
@Basic(optional = false)
@Column(name = "data_consulta")
@Temporal(TemporalType.DATE)
private Date dataConsulta;
@Basic(optional = false)
@Column(name = "hora_consulta")
@Temporal(TemporalType.TIME)
private Date horaConsulta;
@JoinColumn(name = "idforma_pagamento", referencedColumnName = "idforma_pagamento")
@ManyToOne(optional = false)
private FormaPagamento idformaPagamento;
@JoinColumn(name = "idfuncionario", referencedColumnName = "idfuncionario")
@ManyToOne(optional = false)
private Funcionario idfuncionario;
@JoinColumn(name = "idpaciente", referencedColumnName = "idpaciente")
@ManyToOne(optional = false)
private Paciente idpaciente;
@JoinColumn(name = "idplano", referencedColumnName = "idplano")
@ManyToOne(optional = false)
private Plano idplano;
Когда я пытаюсь отобразить экземпляр этого класса с кодом ниже, исходя из интерфейса:
JSON.generateJSON(this.consultas, Consultas.class);
Метод generateJSON:
public static String generateJSON(Object o, Class valueType)
{
if (valueType == Consultas.class) {
Consultas k = (Consultas) o;
mapper.writeValue(json, k);
}
В выходной файл также добавляется КАЖДЫЙ атрибут из отношений @ JoinColumn @ ManyToOne (т. Е. Каждый атрибут из класса "Plano","Paciente","FormaPagamento" и "Funcionario"). Почему он отображает все атрибуты, а не только "id", содержащийся в классе Consultas?
Моя проблема в том, что я хочу записать как JSON просто атрибуты из класса Consultas, без каких-либо дополнительных атрибутов из его отношений.
Возможно, у него уже есть ответ, но я не смог найти правильного решения вообще. заранее спасибо