背景:
使用JPA查询,串接到另外一张表时,由于没有实际在表格关系中指定外键,而是在实体类中指定外键
导致关联表中的数据被删除时,JPA查询时,报错EntityNotFoundException
方案:
在实体类的关联属性上,添加注解,并新增自定义序列化过滤器
@JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = XXXFilter.class)
public class XXXFilter {
//返回true时 不进行序列化
@Override
public boolean equals(Object obj) {
if (obj == null || obj.equals("") || obj.equals(0)) {
return true;
}
try {
if (obj.toString() != null) { // 避免EntityNotFoundException异常时被序列化
return false;
}
} catch (Exception e) {
return true;
}
return false;
}
}