私のコントローラーは次のようになります:
@RequestMapping(value = "/User", method = RequestMethod.GET)
public @ResponseBody String getUser(@RequestParam long id) {
User user = userService.get(id);
return user.name;
}
サービスはこんな感じ
@Transactional(readOnly = true)
public User getUser(long id) {
return userRepository.get(id);
}
サービス層でのトランザクション、サービス層でのトランザクションというマントラが聞こえます。しかし、リポジトリをコントローラーに直接注入するのはとても悪いことです。最初にリポジトリをトランザクション対応にした後、伝播が必要なので、まだ存在しない場合はトランザクションを作成しますか?