Il wiki con tanti suggerimenti tecnici
Annotazioni per non esportare i dati per determinate proprieta':
@JsonIgnoreProperties
è un’annotazione a livello di classe e prevede che vengano esplicitate le proprietà da escludere sotto forma di una di un elenco di stringhe.
@JsonIgnore
invece è un’annotazione a livello di membro o metodo, esempio:
public Oggetto{
...
byte[] dati;
...
@JsonIgnore
public byte[] getDati() {
return dati;
}
...
}
Va posto sul metodo GET dell'attributo.
Cambiare il nome di una proprieta'
public class Oggetto {
@JsonProperty("info-data")
private String info;
...
}
Annotazioni per evitare la ricorsone tra le classi
@JsonManagedReference
viene utilizzato su un riferimento figlio del POJO di destinazione.
@JsonBackReference
viene utilizzato nella classe figlio corrispondente. Viene posizionato sulla proprietà di riferimento indietro.
@Entity
@Table(name="ente")
public class Ente extends AModelBean implements Serializable {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "ente")
@JsonManagedReference
private List<Test> listTest = new ArrayList();
...
@Entity
@Table(name="test")
public class Test extends AModelBean implements Serializable{
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="ente")
@JsonBackReference
private Ente ente;
...
Indietro