프로젝트를 진행하다 보니, Entity 클래스 내부에 존재는 해야하는데, DB에는 저장할 필요 없는 변수를 사용할 일이 생겼다.
properties 파일의 값을 받아오기 위해 @Value
를 사용할 변수를 정의했는데, 해당 변수를 DB에는 반영시키고 싶지 않았다.
이를 위해 방법이 없나 살펴봤는데 @Transient
아노테이션을 사용하면 DB에 반영되지 않는다고 한다.
- ex
@Entity
@Getter
@Setter
public class Diary {
@Transient
@Value("${path.res.img.default-img}")
String defaultImgPath;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int diary_id;
private String content;
@CreatedDate
private Date date;
private String feeling;
private String image_path;
@ManyToOne
@JoinColumn
private User user_id;
public void setDefaultImage(){
image_path = defaultImgPath;
}
}
위 코드에서 properties파일의 값을 받아오기 위해 defaultImgPath
를 정의했지만,
이를 DB에 반영하지 않기 위해 @Transient
아노테이션을 사용했다.
'Back End > Spring && Spring Boot' 카테고리의 다른 글
[Spring Security] 현재 로그인된 유저 정보 얻기 - @AuthenticationPrincipal (0) | 2024.06.18 |
---|---|
[JPA] Entity 생성 시간 자동 기록하기 (1) | 2024.06.15 |
[Spring Boot] properties 파일에 작성한 변수 Java에서 사용하기 (0) | 2024.06.14 |
[Spring Security] 인가 설정을 해줘도, 403 에러 발생하는 원인 (0) | 2024.06.12 |
[Spring Boot / JPA] PK값을 자동으로 증가시키기 (0) | 2024.06.11 |