问题的原因是hibernate内核中的一个bug。班级组织。冬眠发动机spi。操作队列。
以下是修复后的代码:
boolean hasAnyParentEntityNames(BatchIdentifier batchIdentifier) {
return parentEntityNames.contains(batchIdentifier.getEntityName())
|| parentEntityNames.contains(batchIdentifier.getRootEntityName());
}
boolean hasAnyChildEntityNames(BatchIdentifier batchIdentifier) {
return childEntityNames.contains(batchIdentifier.getEntityName())
|| childEntityNames.contains(batchIdentifier.getRootEntityName());
}
以下是之前的代码:
boolean hasAnyParentEntityNames(BatchIdentifier batchIdentifier) {
return parentEntityNames.contains(batchIdentifier.getEntityName())
|| parentEntityNames.contains(batchIdentifier.getRootEntityName());
}
boolean hasAnyChildEntityNames(BatchIdentifier batchIdentifier) {
return childEntityNames.contains(batchIdentifier.getEntityName())
|| parentEntityNames.contains(batchIdentifier.getRootEntityName());
}
有人使用错误的列表查找子对象,在某些情况下,该方法返回相反的值。