删除JHipster用户

时间:2015-07-03 16:02:18

标签: jpa jhipster spring-security-oauth2

我尝试在JHipster项目中为用户添加删除功能。但是当我删除用户实体时,会发生以下异常: 参照完整性约束违规:

findAll

如何在删除用户之前删除OAUTH_ACCESS_TOKEN表中的记录?

2 个答案:

答案 0 :(得分:1)

这是我通过获取tokenStore引用并在删除用户之前删除用户的标记来实现的内容

@Inject
private TokenStore tokenStore;

@RequestMapping(value = "/accounts/{id}",
        method = RequestMethod.DELETE,
        produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity delete(@PathVariable Long id){
                    User user = userRepository.findOne(id);

                    log.debug("Account tokens ("+id+") deletion");
                    Collection<OAuth2AccessToken> tokens = tokenStore.findTokensByClientIdAndUserName("clienid", user.getLogin());
                    for (OAuth2AccessToken token : tokens) {
                        tokenStore.removeAccessToken(token);
                    }

                    log.debug("Account ("+id+") deletion");
                    userRepository.delete(user);

}

答案 1 :(得分:0)

此时我没有在我面前的数据库,但您可能只是想要删除的用户查询OAUTH_ACCESS_TOKEN。因此,您从OAUTH_ACCESS_TOKEN表中删除此行。然后,您应该删除所需的用户。