[250318] TIL
μ€λ ν μΌ
νΈλμ μ 곡λΆ
- @Transactional μ΄λ
Έν
μ΄μ
μ μ¬μ©νμ¬ νΈλμμ
μ²λ¦¬
- λ°μ΄ν°λ² μ΄μ€ μμ μ μμμ±μ 보μ₯νλ μ€μν μ΄λ Έν μ΄μ
- μλΉμ€ κ³μΈ΅μμ μ¬μ©νλ κ²μ΄ μΌλ°μ μ΄λ€.
- JpaRepository λ©μλλ€μ μ΄λ―Έ μ μ©λμ΄ μμ
@Service @RequiredArgsConstructor public class UserService { private final UserRepository userRepository; private final UserLogRepository logRepository; // μ‘°νλ§ νλ λ©μλλ readOnly = trueλ‘ μ΅μ ν @Transactional(readOnly = true) public UserDto getUserInfo(int userId) { return userRepository.findById(userId) .map(UserDto::from) .orElseThrow(() -> new RuntimeException("μ¬μ©μ μμ")); } // λ°μ΄ν°λ₯Ό μμ νλ λ©μλλ μΌλ° νΈλμμ μ¬μ© @Transactional public void updateUser(int userId, UserUpdateDto dto) { User user = userRepository.findById(userId) .orElseThrow(() -> new RuntimeException("μ¬μ©μ μμ")); // μ΄ λͺ¨λ μμ μ΄ νλμ νΈλμμ μΌλ‘ μ²λ¦¬λ¨ user.updateProfile(dto.getProfile()); user.updateNickname(dto.getNickname()); logRepository.save(new UserLog(userId, "μ¬μ©μ μ 보 μ λ°μ΄νΈ")); // λ©μλκ° μ μμ μΌλ‘ μ’ λ£λλ©΄ μ»€λ° // μμΈκ° λ°μνλ©΄ λ‘€λ°± } }
## μ€νλ§ λΆνΈ μ½λ μμ
- user κ΄λ ¨ CRUD API μμ±
Leave a comment