今天看运营数据,突然得不到数据,看系统日志发现“ More than one row with the given identifier was found”这个报错,之前都一直用得好好的,怎么突然就出问题了呢?
直接网上找答案,说是hibernate One To One 或 Many To One 级联查询时,One的一方对应的id有多条数据造成的。后来仔细找了下确实有一条渠道消息删除过,后来又新建了一条同一渠道的数据,因此造成了冲突。由于当时没有考虑到hibernate级联查询没有判断数据状态的问题,造成了错误,所以下一次还需要逻辑严谨些。