Встречается на собеседованиях • сегодня

Что будет в ответе при передаче модели со связью ManyToOne в @RestController без обращения к полю

При сериализации модели со связью @ManyToOne в Spring REST контроллере без явного обращения к полю связи, поведение зависит от конфигурации:

  1. Если поле связи не помечено @JsonIgnore, Jackson попытается сериализовать связанную сущность, что может привести к:
    • Бесконечной рекурсии (если есть обратная связь)
    • LazyInitializationException (если связь не загружена и сессия закрыта)
  1. Рекомендуемые подходы:
java
@Entity
public class Order {
    @ManyToOne(fetch = FetchType.LAZY)
    @JsonIgnore // или @JsonManagedReference
    private Customer customer;
    // другие поля
}

Или использовать DTO вместо передачи сущностей напрямую. По умолчанию лучше всегда использовать @JsonIgnore или DTO, чтобы избежать проблем с производительностью и инициализацией.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы