【发布时间】:2020-08-08 06:56:04
【问题描述】:
仓库在请求发送控制器中找到三个条目,列表中放置了6个条目
请帮助我为什么会发生这种情况,我不明白((((((
域类用户生成的唯一 ID:
public class User implements UserDetails, Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;
控制器方法:
@PreAuthorize("hasAuthority('_2_TEACHER')")
@GetMapping("/project/{projectId}/party/create")
public String viewTeacherCreateProjectParty(
@PathVariable("projectId") Project project,
Party party,
Model model) {
List<User> users = userService.userList(Sort.by("username"));
model.addAttribute("project", project);
model.addAttribute("party", party);
model.addAttribute("users", users);
return "teacherProjectPartyCreate";
}
@PreAuthorize("hasAuthority('_2_TEACHER')")
@PostMapping("/project/{projectId}/party/create")
public String processCreateProjectParty(
@PathVariable("projectId") Project project,
@Valid Party party,
@RequestParam(value = "users") List<Long> usersIds,
BindingResult bindingResult,
Model model) {
List<User> users = userService.findUsersByUserIdIn(usersIds);
model.addAttribute("project", project);
model.addAttribute("party", party);
model.addAttribute("users", users);
Long projectId = projectService.createProjectParty(project, party, users);
return "redirect:/projects/project/" + projectId;
}
服务中的方法:
public List<User> userList(Sort sort) {
return userRepo.findAll(sort);
}
public List<User> findUsersByUserIdIn(List<Long> usersIds) {
return userRepo.findUsersByUserIdIn(usersIds);
}
存储库中的方法:
List<User> findAll(Sort sort);
List<User> findUsersByUserIdIn(List<Long> usersIds);
调试熨平板:
【问题讨论】:
-
它是什么类型的存储库?你试过@Query 吗?
-
CrudRepository,不,我还没有用@Query 尝试过,但仍然不清楚为什么会这样((
-
很奇怪,直接通过repository调用方法的时候,记录没有重复。 pastenow.ru/783f8e67123c4832b29e497b5d768b61 List
findUsersByUserIdIn(List usersIds); List findUserByUserIdIn(List userId); -
这些截图显示repository中的结果本身是正确的,但是通过服务的list返回一个double list,为什么会这样呢? prnt.sc/s5da9iprnt.sc/s5db4d
-
如果一切正常,那么spring就没有这样的问题……可能是IDE有问题。
标签: java spring spring-boot spring-mvc spring-data-jpa