diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentImportService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentImportService.java index b555fd1..714fd4a 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentImportService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentImportService.java @@ -157,6 +157,7 @@ public class SchStudentImportService { stu.setStatus(UserStatus.NORMAL.getId()); stu.setTransferStatus(TransferStatus.IN.getId()); stu.setAbnormalStatus(StuAbnormalStatus.NORMAL.getId()); + stu.setSchId(schId); } } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java index c8665f0..dc8b1a2 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/student/SchStudentInfoService.java @@ -62,7 +62,10 @@ public class SchStudentInfoService { Integer id = entityDTO.getId(); Integer classId = entityDTO.getClassId(); - SchStudent entity = ModelMapperUtil.map(entityDTO, SchStudent.class); + // 必须使用 SchStudent 实体实例作为目标,避免把 SchStudentDTO(继承 SchStudent 的子类)直接交给 JPA, + // 否则 Hibernate 按运行时类型 SchStudentDTO 查找实体会抛出 Unknown entity。 + SchStudent entity = new SchStudent(); + ModelMapperUtil.map(entityDTO, entity); if (StringUtils.isNotBlank(entity.getStuClassNo())) { try {