Programming-[Backend]/Java
[TIL] 클래스 내 private 메서드 임시 테스트 @PostConstruct, Column 이름 예약어 escape 처리
컴퓨터 탐험가 찰리
2023. 5. 18. 08:40
728x90
반응형
1. 클래스 내 private 메서드 임시 테스트
테스트 코드를 남길 필요가 없거나, 테스트를 하기가 곤란한 경우 임시로 빠르게 테스트를 할 수 있는 방법으로 @PostConstruct를 이용할 수 있다.
DB에 잘못된 데이터가 삽입될 수 있으므로 사용에 주의해야한다!!
위 그림처럼 Class내에 save... 메서드가 있고 이것을 임시 테스트하고 싶다면 @PostConstruct의 init() 메서드에 해당 메서드를 불러와서 실행하면 된다. 메서드에 들어가는 인자값들을 세팅해주고 세팅 과정에서 필요하다면 XxxRepository 같은 다른 클래스를 @Autowired로 주입받으면 된다.
이후 디버깅 모드로 breakpoints를 잡고 테스트해보면 파악이 힘든 에러나 동작 테스트를 임시로 해볼 수 있다.
임시적인 방법이므로 꼭 필요할 때만 사용하는게 좋다.
2. 예약어 escape 처리
type, open, group 등 각 데이터베이스마다 데이터베이스 자체에서 사용하는 이름이 있어서 따로 처리가 필요한 단어들이 있다. 이런 경우 MYSQL은 백틱( 또는 틸트 `) 를 앞뒤로 달아주면 된다.
@Column(name = "`type`")
mysql 예약어
H2 등 다른 데이터베이스는 백슬래시 이스케이프로 처리가 가능하다고도 한다. 참조할 글은 많아서 굳이 예약어 목록이나 처리 방식에 대해 상세히 기록할 필요는 없을 것 같다.
@Column(name="\"year\"")
참조
728x90
반응형