У меня есть Spring Boot API, использующий среду Spring Data REST (зависимости, унаследованные от spring-boot-starter-parent 2.1.0.RELEASE).Я пытаюсь выполнить запрос PUT или PATCH, чтобы обновить объект, но ни один из них не работает, выдав следующее сообщение об ошибке:
[Ошибка обработки запроса;вложенным исключением является org.springframework.transaction.TransactionSystemException: не удалось зафиксировать транзакцию JPA;вложенное исключение: javax.persistence.RollbackException: ошибка при фиксации транзакции] с основной причиной java.lang.StackOverflowError: null
Объект, который я пытаюсь обновить, имеет следующую структуру:
@Getter
@Setter
@Entity
@Table(name = "entity_a")
public class EntityA extends BaseEntity {
@Column(name = "name", nullable = false, length = 100)
private String name
@OneToMany(mappedBy = "entityA")
private Set<EntityB> entitiesB;
}
где BaseEntity имеет идентификатор и информацию аудита.
Я делаю запрос PUT / PATCH по следующему пути:
http://localhost:8080/api/v1/entitiesA/the_uuid
с полезной нагрузкой тела как
{"name": "new name"}
Поскольку это была ошибка переполнения стека, моей первой мыслью было нечтопроисходит рекурсивныйЯ закомментировал поле Set (вместе с аннотацией @OneToMany) и все еще сталкивался с ошибкой.Кто-нибудь сталкивался с этой ошибкой раньше?