1、
问题:
2021-01-06 15:43:41.663 ERROR 10184 --- [io-13000-exec-2] c.y.a.c.v1.retcode.RetControlller : 修改失败:[could not execute statement; SQL [n/a]; constraint [UNIQUE_RETCODECONVERT]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement]
原因:
约束冲突异常
2、
问题:
2021-01-06 19:17:22.971 ERROR 8712 --- [io-13000-exec-2] c.y.w.c.GlobalControllerExceptionHandler : Exception: Type definition error: [simple type, class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: org.springframework.ui.ModelMap["data"]->cn.yihuazt.atmp.entity.areacode.AreaCode$HibernateProxy$7WugFhzV["hibernateLazyInitializer"])
原因:
/**
* 修改地区码
*
* @param areaCodeForm
* @return
*/
@ApiPermission
@PutMapping("/update")
public ModelMap updateAreaCode(@RequestBody AreaCodeForm areaCodeForm) {
ModelMap modelMap = new ModelMap();
try {
AreaCode areaCode1 = areaCodeService.getById(areaCodeForm.getId());
if (areaCode1 != null) {
AreaCode areaCode = areaCodeService.save(toEntity(areaCodeForm));
modelMap.put(FishConstant.SUCCESS, true);
modelMap.put(FishConstant.DATA, areaCode);
} else {
modelMap.put(FishConstant.SUCCESS, false);
modelMap.put(FishConstant.ERROR_MSG, "修改失败,地区码不存在");
return modelMap;
}
} catch (JpaObjectRetrievalFailureException e) {
logger.error("修改失败:[" + e.getMessage() + "]");
modelMap.put(FishConstant.SUCCESS, false);
modelMap.put(FishConstant.ERROR_MSG, "修改失败,地区码不存在,请刷新页面");
return modelMap;
} catch (Exception e) {
logger.error("修改失败:[" + e.getMessage() + "]");
modelMap.put(FishConstant.SUCCESS, false);
modelMap.put(FishConstant.ERROR_MSG, "修改失败");
return modelMap;
}
return modelMap;
}
}
解决:
/**
* 修改地区码
*
* @param areaCodeForm
* @return
*/
@ApiPermission
@PutMapping("/update")
public ModelMap updateAreaCode(@RequestBody AreaCodeForm areaCodeForm) {
ModelMap modelMap = new ModelMap();
try {
AreaCode areaCode1 = areaCodeService.getById(areaCodeForm.getId());
if (areaCode1 != null) {
AreaCode areaCode = areaCodeService.update(toEntity(areaCodeForm));
modelMap.put(FishConstant.SUCCESS, true);
modelMap.put(FishConstant.DATA, areaCode);
} else {
modelMap.put(FishConstant.SUCCESS, false);
modelMap.put(FishConstant.ERROR_MSG, "修改失败,地区码不存在");
return modelMap;
}
} catch (JpaObjectRetrievalFailureException e) {
logger.error("修改失败:[" + e.getMessage() + "]");
modelMap.put(FishConstant.SUCCESS, false);
modelMap.put(FishConstant.ERROR_MSG, "修改失败,地区码不存在,请刷新页面");
return modelMap;
} catch (Exception e) {
logger.error("修改失败:[" + e.getMessage() + "]");
modelMap.put(FishConstant.SUCCESS, false);
modelMap.put(FishConstant.ERROR_MSG, "修改失败");
return modelMap;
}
return modelMap;
}
}
3、
问题:
2021-01-06 19:25:27.434 ERROR 6368 --- [io-13000-exec-4] c.y.w.c.GlobalControllerExceptionHandler : Exception: Type definition error: [simple type, class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: org.springframework.ui.ModelMap["data"]->cn.yihuazt.atmp.entity.areacode.AreaCode$HibernateProxy$pnyIGUVh["hibernateLazyInitializer"])
解决:
实体类上添加
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})