我有2类:Game和User
Game
User
User 有游戏列表(ManyToOne关系)。
如何向已保存在数据库中的用户添加其他游戏。
这是我的方法:
@RequestMapping(value = "/game/play", method = RequestMethod.POST) @ResponseBody public User indexRequestPlay(@RequestParam String username, @RequestParam String password) { User user = userRepository.findByUsernameAndPassword(username, password); Random random = new Random(); int userScore = random.nextInt(5) + 1; int npcScore = random.nextInt(5) + 1; Date date = new Date(); List<Date> startSessions = user.getStartSessions(); startSessions.add(date); user.setStartSessions(startSessions); Game game = new Game(userScore, npcScore, date); List<Game> games = new ArrayList<Game>(); games.add(game); games.addAll(user.getGames()); user.setGames(games); userRepository.save(user); return user; }
答案是:
@RequestMapping(value = "/game/play", method = RequestMethod.POST) @ResponseBody public User indexRequestPlay(@RequestParam String username, @RequestParam String password) { User user = userRepository.findByUsernameAndPassword(username, password); Random random = new Random(); int userScore = random.nextInt(5) + 1; int npcScore = random.nextInt(5) + 1; ///////////////////////////////////////////////////////////////////////////////// // aici adaug un camp in user. user.getStartSessions().add(new Date()); ///////////////////////////////////////////////////////////////////////////////// Game game = new Game(userScore, npcScore, new Date()); game.setUser(user); user.getGames().add(game); userRepository.save(user); return user; }