Back-end

# Auditing? Audit는 사전적 의미로 감사하다, 심사하다 등의 의미를 지닌다. Spring Data JPA는 Auditing이라는 기능을 제공한다. # 사용이유 보통 Entity에는 해당 데이터의 "생성시간과 수정시간"을 포함한다. 차후 유지보수에 있어 굉장이 중요한 정보임. DB에 (삽입,갱신)하기 전, "시간 데이터"를 넣어주어야 함. 이런 단순한 코드가 "테이블"과 "서비스 메소드"에 포함된다면 코드가 지저분해질 수 있기에 JPA가 제공하는 JPA Auditing을 사용할 수 있다. # 사용방법 스프링 부트에서 gradle로 의존성을 관리한다면 dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-..
자바 개발할 때 자주 사용하는 코드들을 어노테이션으로 자동 생성해 줍니다.# 어노테이션 @Getter: 선언된 모든 필드의 get 메소드를 생성해 줍니다. @RequiredArgsConstructor: 선언된 모든 final 필드가 포함된 생성자를 생성.                                               final이 없는 필드는 생성자에 포함되지 않습니다. # 사용예시@Getter@RequiredArgsConstructorpublic class HelloResponseDto { private final String name; private final int amount;} @Builder해당 클래스의 빌더 패턴 클래스를 생성생성자 상단에 선언 시 생성자에 포함된..
[쿼리 파라미터 로그 남기기] JPA를 쓰면 답답한 점이 존재하는데, SQL quary 날리는 과정, DB connection 가져오는 게 어느 타이밍에 일어나는지 궁금하다. 그림처럼 quary parameter가 (?, ?)처럼 남음. application.yml, application.propertics에서 해결가능하다. 쿼리를 확인해야 할 상황은 2가지를 잡을 수 있다. 의도한대로 작동되지 않아서 쿼리가 의심되는 상황 N+1 문제가 발생된 지 의심되는 상황 # 1. 화면으로 확인하기 jpa: hibernate: ddl-auto: create properties: hibernate: # properties는 hibernate와 관련된 특별한 함수들을 사용할 수 있다. show_sql: true dia..
JPA란? Java Persistence API의 줄임말이다. *persist: 계속하다, 끝까지 집착하다. 그리고 자바 진영의 ORM 기술 표준이다. ORM 이란? Obeject - relational - mapping(객체 관계 매핑)이다. 뜻은 "객체"랑 "관계형 데이터베이스"랑 매핑을 해준다는 뜻이다. 이걸 쓰게 되면 장점은, 객체를 객체대로 설계 관계형 데이터베이스(RDBMS)는 관계형 데이터베이스대로 설계할 수 있다는 장점이 있다. R == relatinal이다. 이런 장점은, SQL중심적인 프로그래밍에서 객체설계프로그래밍으로 패러다임을 변환할 수 있다. 따라서 ORM 프레임워크의 역할은 중간에서 "객체와 관계형 데이터베이스의 다른 부분을 매핑을 해주는 역할"을 한다. JPA 동작 JPA는 애..
code_wizard
'Back-end' 카테고리의 글 목록