Получение данных от другого объекта

#java #json #spring-data-jpa

Вопрос:

Я должен добавить нового пользователя, используя метод post. Если имя местоположения, предоставленное пользователем, существует в таблице location_table, имя местоположения и соответствующее ему состояние в таблице location_table будут учтены в новой записи пользователя, которая будет сохранена в таблице user_table. Код для этого содержится в инструкции else ниже.

 @Component  public class UserManager{  @Autowired  private UserRepository uRepo;  @Autowired  private LocationRepository lRepo;    @Transactional  public void save(UserDto u){   User user = new User();  Location location = new Location();    if(!lRepo.existsByLocName(u.getLocName())){  user.setBatchNum(u.getBatchNum());  user.setLocName(u.getLocName());  user.setState(u.getState());   location.setLocName(u.getLocName());  location.setState(u.getState());   }  else{  user.setBatchNum(u.getBatchNum());  user.setLocName(u.getLocName());  user.setState(l.getState ()); // How do I turn this l in “l.getState()” into   // a variable for Location so I can get the State of  // that Location entity (not in UserDto)?  }   lRepo.save(location);  uRepo.save(user); }  

Комментарии:

1. Чего именно ты хочешь ? Вы хотите, чтобы данные о местоположении выбирались из u.getLocName, когда lRepo.existsByLocName имеет значение true?

Ответ №1:

Попробуйте добавить метод LocationRepository , который вернет состояние местоположения по имени пользователя, а затем используйте его в качестве аргумента user.setState(...) .