Почему некоторые объекты сериализуются только по их идентификаторам?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему некоторые объекты сериализуются только по их идентификаторам?

Сообщение Anonymous »

У меня есть объект, который представляет имеющиеся на складе продукты:

Код: Выделить всё

@Id
private String lotNumber;

@Id
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "productId", foreignKey = @ForeignKey(name = "fk_product"), referencedColumnName = "productId")
private Products product;

@Id
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumns({
@JoinColumn(name = "id", foreignKey = @ForeignKey(name = "fk_billId")),
@JoinColumn(name = "supplier", foreignKey = @ForeignKey(name = "fk_billSupplier"))
})

private Bills bills;
Теперь все работает нормально при сохранении объектов, но когда я получаю их в формате JSON, я получаю вот что:

Код: Выделить всё

 "@lotNumber": "537fe03f-b261-48bb-b1dd-9215b5ad868a",
"lotNumber": "LOT001",
"product": {},
"bills": 7,
Продукт сериализован, как и ожидалось. Я удалил его содержимое, чтобы сообщение было коротким. Что странно, так это то, как объект счетов сериализуется как просто его идентификатор из JsonIdentity().
Я могу Я не нашел никаких упоминаний об этом поведении, так может ли кто-нибудь объяснить, почему именно это происходит?

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-their-id

Вернуться в «JAVA»