Mam dwie encję User i Task w relacji OneToMany. Chciałbym z metody, która dodaje taska do usera zwracać id tego taska, ale zwracany jest null (id w bazie zapisuje się normalnie).
@RequiredArgsConstructor
class CreateTaskHandler {
private final UserRepository userRepository;
private final TaskContentValidator taskContentValidator;
@Transactional
Either<TaskError, TaskDto> handle(CreateTask command) {
return userRepository.getByUsername(command.getUsername())
.map(user -> taskContentValidator.validate(command.getContent())
.map(correctContent -> new Task(correctContent, command.getPriority(), command.getStatus(), user))
.map(task -> user.addTask(task))
.map(addedTask -> new TaskDto(addedTask.getId())))
.getOrElseThrow(() -> new UserNotFoundException(command.getOwnerUsername()));
}
}