在JPA中将实体列表保存在具有ManyToOne关系的数据库中
我有2类: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;
}
以上是 在JPA中将实体列表保存在具有ManyToOne关系的数据库中 的全部内容, 来源链接: utcz.com/qa/401870.html