Переглянути джерело

解决deleteInbatch时数据量大导致内存溢出的问题

宋悦 8 роки тому
батько
коміт
4030c8ff95

+ 1 - 5
exam-work-api/src/main/java/cn/com/qmth/examcloud/service/examwork/service/ExamStudentService.java

@@ -419,11 +419,7 @@ public class ExamStudentService {
 	public void deleteExamStudents(Long examId)throws Exception{
 		Exam exam = examRepo.findOne(examId);
 		if(exam.getCanStuDel()){
-			List<ExamStudent> examStudents = examStudentRepo.findByExamId(examId);
-			if(examStudents == null || examStudents.size() == 0){
-				return;
-			}
-			examStudentRepo.deleteInBatch(examStudents);
+			examStudentRepo.deleteByExamId(examId);
 		}else{
 			throw new RuntimeException("该考试已开始,不能删除");
 		}

+ 2 - 0
exam-work-domain/src/main/java/cn/com/qmth/examcloud/service/examwork/dao/ExamStudentRepo.java

@@ -51,4 +51,6 @@ public interface ExamStudentRepo extends JpaRepository<ExamStudent, Long>, Query
     List<ExamStudent> findByCourseCode(Long rootOrgId,String courseCode);
 
     List<ExamStudent> findByOrgId(Long orgId);
+
+    void deleteByExamId(Long examId);
 }