분류 전체보기36 Java 개발에서 JUnit 테스트 도입 가이드 Java 개발에서 JUnit 테스트 도입 가이드1. JUnit 테스트는 왜 필요한가?대부분의 Java 기반 업무 시스템은 복잡한 비즈니스 로직, DB 조회, 외부 연계 호출 등을 포함합니다.이러한 시스템에서 테스트 자동화가 없는 경우 다음과 같은 문제가 발생할 수 있습니다.테스트 자동화가 없는 경우 발생하는 문제코드 변경 시 기존 로직이 깨졌는지 일일이 수동 테스트해야 함오류가 QA 또는 운영 단계에서 뒤늦게 발견됨다른 개발자나 팀원이 기존 로직을 쉽게 파악하기 어려움JUnit 도입의 장점항목설명정확성 검증코드가 의도대로 동작하는지 개발 단계에서 즉시 확인 가능회귀 방지기능 수정이나 리팩토링 시 기존 로직에 영향이 없는지 자동 검증자동화 기반CI/CD 파이프라인과 연동하여 배포 전 품질 게이트 역할 수행.. Back-end 2025. 5. 13. Hibernate/JPA Batch Insert/Update 1. 개요이 문서는 Hibernate/JPA를 사용하여 엔터티를 batch insert 및 batch update 해야 하는 이유와 방법에 대해 정리하였습니다.batch insert/update는 여러 개의 SQL 문을 한 번의 네트워크 호출로 데이터베이스에 전송하여 애플리케이션의 네트워크 및 메모리 사용량을 최적화하는 기법입니다.우선 Oracle DB를 사용하는 경우를 먼저 알아보고, MySQL DB를 사용하는 경우도 알아보겠습니다.2. 들어가기 전에2.1. 샘플 데이터 모델아래는 예제에서 사용할 데이터 모델입니다.대출 실행 되어 Loan 엔티티가 생성될 때, 대출 개월수 만큼의 LoanSchedule 엔티티가 생성됩니다.Loan : LoanSchedule = 1 : N 의 부모-자식 관계이며, 연관관.. Back-end 2025. 3. 17. JPA의 Bulk Insert : ID 생성 전략에 따른 성능 비교 JPA에서 saveAll()을 이용한 Bulk Insert 성능은 ID 생성 전략에 따라 크게 달라질 수 있습니다. 이 문서에서는 Auto Increment, Table/Sequence, 직접 할당 방식을 비교하고, 성능 최적화를 위한 설정 방법을 설명합니다.ID 생성 전략별 엔티티 구현 및 특징Auto Increment (IDENTITY 전략)@Entity@Getter@Builder(access = AccessLevel.PROTECTED)@AllArgsConstructor(access = AccessLevel.PROTECTED)@NoArgsConstructor(access = AccessLevel.PROTECTED)@Table(name = "AutoIncrementedIdBook")public clas.. Back-end 2025. 3. 14. JPA 영속성 관리 EntityManagerFactory데이터베이스 당 하나만 생성하며 애플리케이션 전체에서 공유EMF 생성할 때, DB 커넥션풀도 생성EntityManager를 생성하는 팩토리이며EntityManager엔티티를 저장하고, 수정하고, 삭제하고, 조회하는 등의 엔티티와 관련된 모든 일을 처리엔티티를 저장하는 가상의 데이터베이스PersistenceContext애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할엔티티 매니저가 생성될때 내부에 하나씩 만들어짐엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관 및 관리Entity life cycle비영속(new/transient): 영속성 컨텍스트와 전혀 관계가 없는 상태영속(managed): 영.. Back-end 2025. 3. 14. JSP의 기본 구조 JSP의 기본 구조JSP는 지시어와 스크립트 요소로 이루어진다.지시어는 JSP에 대한 기본 설정을 하는 요소이다. 지시어에는 page, include, taglib 3가지가 있다.페이지에 대한 기본 설정을 한 뒤에는 클라이언트의 요청을 처리할 자바 코드를 작성해야한다.이때 스크립트 요소를 이용해 자바 코드를 삽입할 수 있다.스크립트 요소에는 선언부, 스크립틀릿, 표현식 3가지가 있다. 지시어 (Directive) JSP 페이지를 자바(서블릿) 코드로 변환하는 데 필요한 정보를 JSP 엔진에 알려줌Page 지시어JSP 페이지에 대한 정보 설정Include 지시어외부 파일을 현재 JSP 페이지에 포함파일의 내용 그대로를 문서에 삽입한 후 컴파일을 진행하기 때문에 하나의 페이지가 됨taglib 지시어표현 언어.. Back-end 2025. 1. 12. 이전 1 2 3 4 ··· 8 다음