Я не могу сохранить более 2 элементов в ArrayList в MySQL с помощью SpringBoot.Когда я делаю почтовый запрос (Почтальон или с Alamofire) с одним объектом в массиве, я получаю код состояния 200, в противном случае я получаю код состояния 500 и это сообщение об ошибке в консоли Springboot:
java.sql.SQLIntegrityConstraintViolationException: Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется (quran-pro-core
. surah
, CONSTRAINT FKibuxjpjiwpq46220g7sn7y1q
FOREIGN KEY (id
) ССЫЛКИ reciter
(documentid
))
Это мои классы:
@RestController
public class ReciterController {
@Autowired
private ReciterService reciterService;
@PostMapping("/reciters")
public String saveReciter(@RequestBody Reciter reciter) {
reciterService.saveReciter(reciter);
return "SUCCESS";
}
}
@Service
public class ReciterService {
@Autowired
private ReciterRepostitory reciterRepository;
public void saveReciter(Reciter reciter) {
reciterRepository.save(reciter);
}
}
@Entity
public class Reciter {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long documentID;
@Column
private String name;
@Column
private String image;
@OneToMany(mappedBy="id", cascade = CascadeType.ALL)
private List<Surah> surahs;
// Constructor and getters and setters
}
@Entity
public class Surah {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String name;
@Column
private int number;
// Constructor and getters and setters
}
Это тело работает:
{
"name": "reciter1",
"image": "/reciter1/image.png",
"surahs": [
{
"name": "LOLll",
"number": 0
}
]
}
, а это не так:
{
"name": "reciter1",
"image": "/reciter1/image.png",
"surahs": [
{
"name": "LOLll",
"number": 0
},
{
"name": "test2",
"number": 1
}
]
}
enter code here