我尝试在JHipster项目中为用户添加删除功能。但是当我删除用户实体时,会发生以下异常: 参照完整性约束违规:
findAll
如何在删除用户之前删除OAUTH_ACCESS_TOKEN表中的记录?
答案 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表中删除此行。然后,您应该删除所需的用户。