강의

멘토링

커뮤니티

Inflearn Community Q&A

hyperpipe's profile image
hyperpipe

asked

Real-world! Spring Boot and JPA Utilization 1 - Web Application Development

쓰레드 단위에서 업데이트

Written on

·

172

0

안녕하세요 늘 좋은 강의 감사합니다.

한 쓰레드에서 업데이트와 셀렉트를 하는데 업데이트가 되지 않습니다.

1. A테이블에서 find

A엔티티에서 User테이블과 연관된 상태

@Column(name = "user_id", insertable = false, updatable = false)
private Long userId;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false, referencedColumnName = "id")
@JsonIgnore
private User user;

2. User테이블의 컬럼 업데이트

user.setPhone1("010");
userRepository.save(user);

를 하면 User테이블의 컬럼이 업데이트 되지 않습니다.

왜 그런걸까요?

jpa웹앱spring-bootjavaJPAspring

Answer 1

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. engineer-edu님

@Transactional 안에서 User를 조회하고, 변경했는지 확인해주세요.

JPA의 모든 데이터 변경은 트랜잭션 안에서 처리되어야 합니다.

감사합니다.

hyperpipe님의 프로필 이미지
hyperpipe
Questioner

안녕하세요 영한님 빠른 답변 감사합니다.

위의 문제는 entityManager.clear();
를 사용했더니 해결되었습니다.

하지만 정확한 이유를 모르겠어요.. 혹시 알려주실 수 있으실까요?

yh님의 프로필 이미지
yh
Instructor

안녕하세요. engineer-edu님

도움을 드리고 싶은데 설명해주신 내용만 가지고는 답변을 드리기가 어렵습니다.

문제가 되는 부분만으로 실제 동작하는 예제 코드를 만들어서 전체 프로젝트를 압축해서 올려주세요.

추가로 entityManager.clear()를 어디에 적용했을 때는 동작하는지도 주석으로 남겨주세요.

감사합니다.

hyperpipe's profile image
hyperpipe

asked

Ask a question