Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 깃헙 데스크탑
- IP통신
- AWS사용자
- javasecurity
- AWS요금
- 오라클 c##제거
- jsp에러
- hmlt
- IAM 결제
- servlet에러
- AWS 청구
- git stah
- js구구단
- aws
- springboot
- oracle 18
- Update
- SpringToolSuite4
- jsNature
- bootstrap
- html주문폼
- AWS경보
- JPA
- html사용자함수
- 소켓통신
- web browser external
- C++
- hit desktop
- TCP/IP
- MFC
Archives
- Today
- Total
Ynns
jpa / update @Query문 사용해서 수정하기 본문
회원 가입 이후 최초 로그인의 경우 최초 비밀번호를 변경하기 위해서는
최초 로그인의 T/F를 판단해야 된다 이걸 isFirstLogin 컬럼으로 EnumYn 을 사용해 Y/N 으로 표기해 준다
이후 비밀번호를 변경하게 되면 'N' 에서 'Y' 로 변경
// Column 생성
@Column(columnDefinition ="ENUM('Y', 'N') default 'N'")
@Enumerated(EnumType.STRING)
private EnumYn isFirstPwd = EnumYn.N;
JPA 는 SQL 문 없이 JpaRepository 인터페이스로 메소드를 만들어 사용한다 하지만 update 문은 따로 작성해야 가능
@Modifying // select 문이 아님을 나타낸다
@Query(value = "UPDATE Member m set m.password = :password, m.isFirstPwd = 'Y' where m.email = :email", nativeQuery = true)
void changePwd(@Param("password")String password, @Param("email")String email) throws Exception;
isFirstPwd는 한 번만 바뀌어야 하기 때문에 EnumYn으로 @Param 값을 보내지 않고 'Y' 값만 들어가도록 작성했다
nativeQuery = true 의 경우 SQL문일 때, false의 경우 JSQL문일 때를 말한다
'JPA' 카테고리의 다른 글
JPA / Spring Date Query에서 지원되는 키워드 (0) | 2020.02.11 |
---|---|
jpa / update 특정 컬럼 값이 null일 경우 기존 값 불러오기 (0) | 2020.02.07 |
Comments