Spring数据存储库无法正常工作

时间:2018-08-13 10:50:14

标签: hibernate spring-security spring-data-jpa

我开发了框架,并在此框架中添加了安全模块。该模块使用具有弹簧安全性的JWT。我重写了Spring的loadUserByUsername方法。一切正常。

@Autowired
private SmartUserRepository smartUserRepository;


@Override
@Transactional
public UserDetails loadUserByUsername(String loginName) throws UsernameNotFoundException {
    SmartUser user = smartUserRepository.findByLoginName(loginName);

    if (user == null){
        throw new UsernameNotFoundException(String.format("Not found user with username '%s'.", loginName));
    }
    else {
        return JwtUserFactory.create(user);
    }
}

我开始了一个新项目并实现了此模块。发送请求时,进入此方法,成功创建“ smartUserRepository”,但“ findByLoginName”返回null并抛出UsernameNotFoundException。

当我测试此sql在SQL Developer中能否正常工作时。

Hibernate: select smartuser0_.SmartUserId as SmartUserId1_18_, smartuser0_.createdOn as createdOn2_18_, smartuser0_.deletedOn as deletedOn3_18_, smartuser0_.updateOn as updateOn4_18_, smartuser0_.activated as activated5_18_, smartuser0_.activation_key as activation_key6_18_, smartuser0_.email as email7_18_, smartuser0_.firstname as firstname8_18_, smartuser0_.lang_key as lang_key9_18_, smartuser0_.loginName as loginName10_18_, smartuser0_.password_hash as password_hash11_18_, smartuser0_.reset_date as reset_date12_18_, smartuser0_.reset_key as reset_key13_18_, smartuser0_.surname as surname14_18_ from SmartUser smartuser0_ where smartuser0_.loginName=?

我在调试中评估,smartUserRepository.findAll始终始终返回null。如果我使用smartUserRepositoy(smartUserRepository.save())保存新实体,则休眠会话会一直挂出并不断等待。

这可能导致什么?

0 个答案:

没有答案