derby数据库清除历史记录时,sql写的是 id in。 因为id这个字段在update时用的都是之前的id,同一个配置的多条历史的id是一样的。 in后面的sql查出一条记录时,这个配置所有的历史都会被清理掉,哪怕记录时近期才有的。   这个bug在2.1.x发现,看目前2.4.x的代码里依旧存在。 可以考虑把id换成nid。