Java 将UserExtra(扩展jhipster用户)设置为与另一个实体的关系

Java 将UserExtra(扩展jhipster用户)设置为与另一个实体的关系,java,spring-data-jpa,jhipster,Java,Spring Data Jpa,Jhipster,根据Spring数据JPA,jhipster(4.14.4)中我的UserExtraRepository.java中的一个查询 应返回一个UserExtra对象,该对象与用户(jhi_用户)具有1:1关系,其中用户通过其登录名字符串识别 但是当我尝试在另一个实体资源类(PartyFoodResource.java)的POST方法中使用它时,我得到了一个空指针异常: 你能给我一个提示吗,我现在不明白什么 编辑: 如果我尝试,我也会得到一个空指针异常,带有final Optional isUser

根据Spring数据JPA,jhipster(4.14.4)中我的UserExtraRepository.java中的一个查询

应返回一个UserExtra对象,该对象与用户(jhi_用户)具有1:1关系,其中用户通过其
登录名
字符串识别

但是当我尝试在另一个实体资源类(PartyFoodResource.java)的POST方法中使用它时,我得到了一个空指针异常:

你能给我一个提示吗,我现在不明白什么


编辑: 如果我尝试,我也会得到一个空指针异常,带有
final Optional isUser=userService.getUserWithAuthorities()

如果我尝试

    String loggedInUser = SecurityUtils.getCurrentUserLogin().get();
    log.debug("user gefunden : {}", loggedInUser);

    final Optional<User> isUser = userService.getUserWithAuthoritiesByLogin(loggedInUser);
String loggedInUser=SecurityUtils.getCurrentUserLogin().get();
debug(“用户gefunden:{}”,loggedInUser);
最终可选的isUser=userService.getUserWithAuthoritiesByLogin(loggedInUser);

我得到一个带有登录字符串的调试日志条目,但仍然是一个带有
userService.getUserWithAuthoritiesByLogin(loggedInUser)的空指针异常

我已删除PartyFoodResource.java中的代码,并将其粘贴到PartyFoodServiceImpl.java中。它现在正在与以下方面合作:

/**
 * Save a partyFood.
 *
 * @param partyFood the entity to save
 * @return the persisted entity
 */
@Override
public PartyFood save(PartyFood partyFood) {
    log.debug("Request to save PartyFood : {}", partyFood);

 /**
 * Add the logged in user into a relation to newly created records of the entity PartyFood.
 * The user will be the owner of the PartyFood.
 */

    final Optional<User> isUser = userService.getUserWithAuthorities();
    if (!isUser.isPresent()) {
        log.debug("User is not logged in");
    }

    final User user = isUser.get();

    UserExtra userExtra = new UserExtra();
    userExtra = userExtraService.findOneByUserId(user.getId());
    log.debug("userExtra gefunden : {}", userExtra.getUser().getLogin());
    partyFood.setUserExtra(userExtra);

    PartyFood result = partyFoodRepository.save(partyFood);
    partyFoodSearchRepository.save(result);
    return result;
}
/**
*保存派对食物。
*
*@param partyFood要保存的实体
*@返回持久化实体
*/
@凌驾
公共PartyFood save(PartyFood PartyFood){
debug(“保存PartyFood的请求:{}”,PartyFood);
/**
*将登录用户添加到实体PartyFood的新创建记录的关系中。
*用户将是PartyFood的所有者。
*/
最终可选的isUser=userService.getUserWithAuthories();
如果(!isUser.isPresent()){
调试(“用户未登录”);
}
最终用户=isUser.get();
UserExtra UserExtra=新UserExtra();
userExtra=userExtraService.findOneByUserId(user.getId());
debug(“userExtra gefunden:{}”,userExtra.getUser().getLogin());
partyFood.setUserExtra(userExtra);
PartyFood结果=partyFoodRepository.save(PartyFood);
partyFoodSearchRepository.save(结果);
返回结果;
}
    String loggedInUser = SecurityUtils.getCurrentUserLogin().get();
    log.debug("user gefunden : {}", loggedInUser);

    final Optional<User> isUser = userService.getUserWithAuthoritiesByLogin(loggedInUser);
/**
 * Save a partyFood.
 *
 * @param partyFood the entity to save
 * @return the persisted entity
 */
@Override
public PartyFood save(PartyFood partyFood) {
    log.debug("Request to save PartyFood : {}", partyFood);

 /**
 * Add the logged in user into a relation to newly created records of the entity PartyFood.
 * The user will be the owner of the PartyFood.
 */

    final Optional<User> isUser = userService.getUserWithAuthorities();
    if (!isUser.isPresent()) {
        log.debug("User is not logged in");
    }

    final User user = isUser.get();

    UserExtra userExtra = new UserExtra();
    userExtra = userExtraService.findOneByUserId(user.getId());
    log.debug("userExtra gefunden : {}", userExtra.getUser().getLogin());
    partyFood.setUserExtra(userExtra);

    PartyFood result = partyFoodRepository.save(partyFood);
    partyFoodSearchRepository.save(result);
    return result;
}