DATABASE 3

[JPA] 영속성 관리(Entity Manager, Entity Factory, Persistence Context)

Entity Manager와 Entity FactoryJPA는 크게 Entity와 테이블을 매필하는 설계 부분과 매핑한 Entity를 실제 사용하는 부분으로 나눌 수 있다.// Entity Factory 생성EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa"); Entity Manager는 Entity를 저장하고, 수정하고, 삭제하고, 조회하는 등 Entity와 관련된 모든 일을 처리하는 관리자이다.// Entity Manager 생성EntityManager em = emf.createEntityManager();Entity Factory는 이름 그대로 Entity Manager을 만드는 공장이다. 공장을 만드는 비용은 상당히 ..

DATABASE 2025.02.16

[SQL] JPA란 무엇인가?

JPA란 무엇인가?JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준이다. JPA는 애플리케이션과 JDBC사이에서 동작한다.   ORM이란 무엇인가?ORM(Object-Relational Mapping)은 이름 그대로 객체와 관계형 데이터베이스를 매핑한다는 뜻이다. ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결해준다. 예를 들어 ORM 프레임워크를 사용하면 객체를 데이터베이스에 저장할 때 INSERT SQL을 직접 작성하는 것이 아니라 객체를 마치 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 된다. 그러면 ORM 프레임워크가 적절한 INSERT SQL을 생성해서 데이터베이스에 객체를 저장해준다. 따라서 ORM 프레임워크는 객체 ..

DATABASE 2025.02.12

[SQL] YEAR()은 효율적인가?

처음으로 SQL 프로그래머스 문제들을 풀어보기 시작했다.  정보처리기사 공부할 때 DML, DCL, DDL 공부를 하면서 잠시 쿼리문을 작성하는 것을 해보았지만 이렇게 직접 예시문제를 풀다보니 실력이 훨씬 더 빨리 느는것 같았다.근데 이렇게 문제를 풀다가 보니 구글링하면서 배운 함수들이나 방식들은 엄청 다양해서 한 문제를 푸는 방법에도 다양한 방법이 있다는 사실을 알게 되었다. 그래서 이런 쉬운 문제를 풀때도 방식마다 장단점이 어떤게 있는지 리뷰해보려고 한다. 1. AND 나열과 YEAR()SELECT COUNT(*) USERSFROM USER_INFOWHERE AGE >= 20 AND AGE 처음에 내가 접근했던 방식이다. 처음에 20세 이상 29세 이하를 어떻게 표현해야하지 하다가 그냥 범위 AND문..

DATABASE 2025.01.26