[Spring JPA] Converter 는 언제 써야하는가
Type 을 정의하는 테이블을 정의해서 매핑하는데, Entity 와 ManyToOne을 쓰면 적절하지 않을 것 같았다.
ENUM 을 쓰면 적절하지 않을 것 같다는 의견을 검색하다가 보았고, 테이블을 정의해서 ENUM 처럼 쓰는게 좋아보일 것이라 판단했는데, Claude 로부터 @Converter 를 써보라는 추천을 받아서 알게 되었고 학습하게 되었다.
Type 을 정의하는 테이블을 정의해서 매핑하는데, Entity 와 ManyToOne을 쓰면 적절하지 않을 것 같았다.
ENUM 을 쓰면 적절하지 않을 것 같다는 의견을 검색하다가 보았고, 테이블을 정의해서 ENUM 처럼 쓰는게 좋아보일 것이라 판단했는데, Claude 로부터 @Converter 를 써보라는 추천을 받아서 알게 되었고 학습하게 되었다.
Porring 백엔드를 구현하면서, OAuth 혹은 네이티브 로그인 계정에 대한 ERD 타입을 슈퍼타입과 서브타입으로 정의하였다.
데이터베이스 상으로만 봤지만, 실제로 어떻게 구현을 해야할까? 단순 쿼리를 한다면 되겠지만, 복잡한 작업이 될 것이며, 쿼리 중간에 예상치 못한 버그가 있을 수 있다. JPA 에서는 어떻게 되는지 알아보자!
JPA 에 대해 기본적인 내용을 훑는다. 기본적인 내용을 알고 있다면 무시해도 좋다.
JPA를 사용하는 이유는 쿼리를 수행하는 테이블의 개수가 복잡해질수록 간단하게 코드 구현이 가능하기 때문이다.
마인크래프트 플러그인을 만들면서 기존 JDBC 를 썼다. 그런데, Spring JDBC 와는 무슨 차이일까. 그 차이점을 알아보자.
JDBC는 1997년 Sun Microsystems (현재 Oracle) 에서 개발된 데이터베이스 접근 드라이버다.
스프링에서 사용하는 로깅 레벨에 대해서 간략히 알아보자.
각 로그 단계는 아래와 같이 구성되어 있다.
위에서부터 출력을 많이하고, 가장 아래가 출력을 적게한다고 생각하면 쉽다.
Docusaurus 문서블로그를 만들고 있는데, 빌드 설정 성능 최적화를 하다가, 아래와 같은 오류를 찾을 수 있었다.

즉, 직역해보면 실제로 <p> 태그를 연 적이 없는데 닫힌다는 의미이다.