대량 삽입 (Bulk Insert)와 JPA의 한계JPA는 객체 지향적 데이터 처리를 위해 설계되었기 때문에, 대량 삽입(Bulk Insert)와 같은 작업에 최적화되어 있지 않음Bulk Insert 란?아래와 같이 여러 insert 문을 하나의 쿼리에서 날릴 수 있는 방법INSERT INTO 테이블 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...), (값11, 값22, ...),하지만 JPA는 영속성 컨텍스트를 통해 데이터를 관리하므로, 이러한 형태의 Bulk Insert를 지원하지 않음JPA의 Save vs SaveAll 성능 비교save: 하나의 엔티티를 저장할 때마다 별도의 쿼리를 실행saveAll: 여러 엔티티를 한 번에 저장하도록 최적화되어 있지만, 여전히 엔티티별로 개별..
Spring/SpringBoot (JPA)
스프링부트 기준application.yml 파일 하나를 두고 운영, 개발, 로컬 환경에서 실행하는 방법 yml 파일 설정방법yml 파일을 열고 --- 전에는 공통으로 사용할 설정을 넣어주고그 아래에는 포트 db url 등 달라지는 값들을 넣어준다 그리고 최초 --- 전에 profiles active 에 기본적으로 (옵션 안넣으면) 실행될 이름을 지정해줌아래의 각 설정들에 spring - config - activate - on - profiles 에 원하는 이름을 지정해준다. 예시spring: profiles: active: local application: name: keart_project datasource: hikari: ..
__ Postgresql Timestamp Entity 설정법__ JPA 테이블 생성시간, 수정시간 자동생성 하는 법__ Postgresql Timestamp 형식 Entity 설정하는 법아래랑 다른 형식 쓰면 bytea 로 들어가고 난리임@Column(nullable = false, updatable = false)private LocalDateTime createTime;@Temporal(TemporalType.TIMESTAMP)private Date loginTimestamp;private Timestamp logTimestamp; // 매핑될 필드Postgresql 의 DEFAULT CURRENT_TIMESTAMP 설정 주는 법아래처럼 설정하면 DDL 에 DEFAULT CURRENT TIMESTA..