У меня проблема с проектированием базы данных
Есть сущность User
public class User implements UserDetails, Serializable {
// ...
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "MANAGER_ID")
private Manager manager;
// ...
}
Она ссылается на сущность Manager
public class Manager {
// ...
@OneToMany(mappedBy = "manager", orphanRemoval = true)
@LazyCollection(LazyCollectionOption.FALSE)
private List<ExpertAndRequest> requests;
@OneToOne(mappedBy = "manager", orphanRemoval = true, cascade = CascadeType.ALL)
private User user;
@OneToMany(mappedBy = "manager")
private List<ParticipantRequest> participantRequests;
// ...
}
Есть сущность ParticipantRequest. Ссылается многие к одному к сущность Manager
public class ParticipantRequest {
// ...
@OneToMany(mappedBy = "request", cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
private List<ExpertAndRequest> experts;
@ManyToOne
@JoinColumn(name = "manager_id")
private Manager manager;
// ...
}
И есть связующая таблица между Manager и ParticipantRequest
public class ExpertAndRequest implements Serializable {
// ...
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "managerId", updatable = false, insertable = false, referencedColumnName = "id")
private Manager manager;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "requestId", updatable = false, insertable = false, referencedColumnName = "id")
private ParticipantRequest request;
// ...
}
Я ожидаю, что при удаление User, у меня удалится Manager и связанные с ним ExpertAndRequest. Но вместо этого ничего не происходит... Ни ошибки, ничего не происходит. Как будто все корректно отработано
Удаляю я так:
@GetMapping("/some/url")
@Transactional
@ResponseBody
public ManagerApiResult deleteManager(@RequestParam(name = "id") Long id) {
if(!this.isUserManager()) {
return null;
}
ManagerApiResult res = new ManagerApiResult();
Manager manager = this.managerRepository.findOne(id);
if(manager == null) {
res.errors.add(String.format("Manager id \"%s\" do not exist", id));
return res;
}
this.userRepository.delete(manager.getUser());
return res;
}
Что я делаю не так? Бьюсь уже 3-й день и все без успехов(
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Приложение состоит из нескольких активностейПриложение - это интернет-магазин
У меня есть метод, который вызывает Toast и отображает какую-то строку, но если быстро его вызывать, то сообщения накладываются поверх друг друга,...
Пишу я значит шаблон для сайта и столкнулся с такой проблемой: два последних margin ни в какую не хотят работать, прошарил туеву хучу форумов...
Мне нужно, что бы html элемент исчезал в определённом месте (если он находится на верхней половине страницы)Можно ли создать такую "зону невидимости"...