Ich habe ein Hauptziel wie folgt aus:serialize Objektinstanz Grundeigenschaft jackson
public class MainObject{
@Column(unique = false, updatable = true, insertable = true, nullable = true, length = 255, scale = 0, precision = 0)
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(unique = true, updatable = true, insertable = true, nullable = true, length = 255, scale = 0, precision = 0)
@Basic
private String name;
@JsonIgnoreProperties({"address" ... })
@ManyToOne(optional = true, targetEntity = Company.class)
private Child child;
}
Ich würde dies als mit nur einer Eigenschaft des Child-Objekt serialisiert wie „basic“ Typ. Wie Sie sehen können, ist meine beste Lösung, alle anderen Eigenschaften des untergeordneten Objekts zu ignorieren.
ist mein Ziel, etwas wie diese:
{
"id" = 12,
"name" = "some name",
"company" = 42
}
aber mit meiner besten Lösung so weit, Hexe können Sie sehen, ober i folgende erhalten:
{
"id" = 12,
"name" = "some name",
"company" = {
"id" = 42
}
}
Ich weiß, es ist Anmerkung Hexe Ich kann in Kind-Objekt verwenden, aber hier kommt der schwierige Teil, in einem anderen Teil in meinem Programm möchte ich das Kind normal zu serialisieren.
public class Child{
@Column(unique = false, updatable = true, insertable = true, nullable = true, length = 255, scale = 0, precision = 0)
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(unique = true, updatable = true, insertable = true, nullable = true, length = 255, scale = 0, precision = 0)
@Basic
private String name;
@Column(unique = true, updatable = true, insertable = true, nullable = true, length = 255, scale = 0, precision = 0)
@Basic
private String address;
...
}
Gibt es einen einfachen Weg mit Anmerkungen, um zu bekommen, was ich will?
nicht so einfach, aber machbar http erstellen: // www.baeldung.com/jackson-custom-serialisation – gigadot