У меня есть 2 объекта Компания и Меню Компания имеет много меню.
Объект компании:
public class Company {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL,mappedBy = "company")
private Set<Menu> menus;
//other fields getters and setters
Пункт меню:
public class Menu {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "company_id", nullable = false)
private Company company;
//other fields getters and setters
Когда я удаляю компаниюработает должным образом, удаляет компанию с ее меню, но я не могу удалить непосредственно меню: Api не возвращает ошибку, но не удаляет запись из базы данных.
Служба:
public boolean deleteMenu(long id) throws ResourceNotFoundException {
try{
menuRepository.deleteMenuById(id);
return true;
}catch (Exception e){
throw e;
}
}
MenuRepository:
public interface MenuRepository extends CrudRepository<Menu, Long> {
public Menu findMenuById(Long id);
public void deleteMenuById(long id);
}
РЕДАКТИРОВАТЬ
Поскольку я полагаю, что проблема заключается в том, что транзакция откатывает изменения в этом случае, я обнаружил эту ошибку: транзакция молча откатилась, потому что она была помечена какоткатить только