일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Ai
- OpenAI
- 이더리움
- tutorial
- java
- ORM
- springboot
- SQL
- 데이터베이스
- Python
- 웹개발
- SpringDataJpa
- 코딩
- 파이썬
- 실습
- 프로그래밍
- 머신러닝
- ChatGPT
- 블록체인
- Practice
- JPA
- seaborn
- 블록체인실습
- 스마트컨트랙트
- 딥러닝
- node.js
- 데이터 시각화
- querydsl
- 암호화폐
- 데이터 분석
- Today
- Total
목록ORM (9)
집돌이 공대남 IT
실전! Entity Graph와 QueryDSL을 활용한 서비스 개선 안녕하세요, 여러분.집돌이 공대남입니다. 지난 시간에는 Entity Graph와 QueryDSL의 개념과 이들을 활용하는 방법에 대해 알아봤습니다. 이번에는 이러한 기능을 활용하여 실제 서비스를 어떻게 개선할 수 있는지에 대해 알아보겠습니다. 실습 환경 설정 이번 실습에서는 Spring Boot와 JPA, QueryDSL을 사용합니다. 개발 환경은 IntelliJ IDEA를 사용하며, 데이터베이스는 H2를 사용합니다. 프로젝트 구조는 Spring Initializr를 통해 생성하였습니다. Entity Graph 활용하기 우선, '사용자(User)'와 '주문(Order)'가 있고, 특정 사용자와 그의 모든 주문을 한 번의 쿼리로 가져오는..
JPA 고급 기능 - Entity Graph와 QueryDSL 상세 가이드 안녕하세요, 여러분! 집돌이 공대남입니다. 이번 포스트에서는 JPA의 고급 기능인 Entity Graph와 QueryDSL에 대해 상세하게 살펴보도록 하겠습니다. 이 글을 통해 JPA를 이용한 데이터 액세스가 더욱 효율적으로 이루어질 수 있습니다. 1. Entity Graph란? Entity Graph는 JPA 2.1에서 도입된 기능으로서, 엔티티를 조회할 때 해당 엔티티와 연관된 엔티티들까지 한 번에 조회하는 것을 가능하게 합니다. 이를 활용하면 여러 번의 쿼리를 보내는 대신 한 번의 쿼리로 필요한 모든 데이터를 가져올 수 있습니다. 특히 이 기능은 Lazy Loading으로 인해 발생하는 N+1 문제를 해결하는 데에 유용합니다..
실무에서의 JPA 사용 팁과 주의사항 안녕하세요, 공대남입니다. 이전 글에서는 JPA의 고급 기능과 성능 최적화에 대해 알아보았습니다. 이번 글에서는 실무에서 JPA를 사용하면서 알아두면 좋은 팁과 주의사항에 대해 보다 상세하게 다루도록 하겠습니다. 1. 트랜잭션 관리 JPA에서 트랜잭션 관리는 중요한 부분입니다. 일반적으로 데이터베이스 작업은 트랜잭션 안에서 이루어집니다. 트랜잭션은 일련의 작업이 전부 성공하거나 전부 실패하도록 보장해주는 메커니즘입니다. JPA를 사용하면서는 EntityManager를 이용하여 트랜잭션을 관리합니다. 트랜잭션의 시작은 EntityManager 인스턴스를 생성하는 것으로, EntityManagerFactory의 createEntityManager() 메소드를 통해 생성합..
JPA 고급: 쿼리 최적화와 고급 기능 안녕하세요! 공대남입니다. 이전 글들에서는 JPA의 기본 원리와 사용 방법, 그리고 엔티티 관리에 대해 살펴보았습니다. 이번에는 좀 더 깊게 파고들어 JPA의 고급 기능과 성능 최적화 방법에 대해 이야기해보려 합니다. 1. JPQL과 Query 메소드 JPA는 데이터베이스 쿼리를 작성하기 위한 자체 쿼리 언어인 JPQL(Java Persistence Query Language)을 제공합니다. JPQL은 SQL과 비슷하지만, 데이터베이스 테이블 대신 엔티티 객체를 대상으로 작동합니다. 예를 들어, 이름이 'John'인 모든 사용자를 찾는 쿼리는 다음과 같이 작성할 수 있습니다: List users = em.createQuery("SELECT u FROM User u ..
JPA: 객체 지향 프로그래밍의 두 번째 걸음 안녕하세요, 지난 번에 이어 JPA에 대해 계속 이야기하려 합니다. 이전 글에서는 JPA를 설정하는 방법과 기본 원리에 대해 살펴보았습니다. 이번 글에서는 엔티티 클래스를 만드는 방법과 EntityManager를 사용하여 데이터베이스 작업을 수행하는 방법에 대해 알아보겠습니다. 1. 엔티티 클래스 생성 JPA에서 중요한 개념 중 하나는 "엔티티"입니다. 엔티티는 데이터베이스에서 데이터를 표현하는 자바 클래스입니다. 이 클래스는 @Entity 어노테이션을 사용하여 정의됩니다. 다음은 예시 엔티티 클래스입니다: import javax.persistence.Entity; import javax.persistence.GeneratedValue; import java..
JPA: 객체 지향 프로그래밍을 위한 첫 걸음 프로그래밍은 다양한 기술과 도구들로 무장한 퍼즐 같은 것입니다. 그 중에서도, 데이터 관리는 우리가 얼마나 효율적으로 코드를 작성할 수 있는지를 결정하는 중요한 부분입니다. 오늘 우리는 JPA(Java Persistence API)에 대해 배울 것입니다. JPA는 우리가 SQL을 직접 작성하는 대신, 객체 지향적인 방법으로 데이터를 관리할 수 있게 도와주는 ORM(Object-Relational Mapping) 기술입니다. 이 글에서는 JPA를 설정하는 방법을 배우고, JPA를 이용해 데이터를 다루는 기본적인 방법에 대해 알아보겠습니다. 1. JPA 소개 일반적으로, 데이터베이스와의 작업을 위해서는 SQL(Structured Query Language)을 사..
안녕하세요! 공대남입니다. 오늘은 JPA (Java Persistence API)에 대한 전반적인 이해와 실습을 통해 이를 학습하는 방법에 진행할 내용을 소개하려고 합니다. 초급: JPA 기본 원리 및 사용법 1. JPA 소개 및 설정 JPA는 개발자가 직접 SQL을 작성하는 대신 객체 지향적인 방법으로 데이터를 관리할 수 있게 해주는 ORM (Object-Relational Mapping) 기술입니다. 이를 위해 Maven이나 Gradle과 같은 빌드 도구를 사용하여 JPA 라이브러리를 프로젝트에 추가합니다. 2. 엔티티 및 관계 매핑 JPA를 사용하면, 각 테이블을 클래스로, 테이블의 행을 클래스의 인스턴스로, 테이블의 열을 클래스의 필드로 취급할 수 있습니다. 이런 클래스를 "엔티티"라고 부르며, ..
안녕하십니까 집공이 입니다. 오늘은 저번 포스팅에서 다뤘던 ORM에 대해서 실습을 해보려고 합니다. 뭔가 내용이 기초만 다뤘던거 같아 오늘은 실습에 대해서 적어보도록 하겠습니다. 혹시 저번 포스팅을 참고 하시고 싶으시면 밑에 링크를 참조하시길 바랍니다. [Python]파이썬에서 ORM 활용하기 안녕하십니까 집공이입니다. 오늘은 ORM에 대해서 배워보도록 하겠습니다. 1. ORM의 정의 ORM(객체 관계 매핑)은 객체와 관계형 데이터베이스 사이의 매핑을 처리하는 기술로, 데이터베이스에서 가 gongdeanam-it.tistory.com 1. 실습 ORM을 실습해보기 위해서는 먼저 사용할 ORM 라이브러리를 선택해야 합니다. 파이썬에서 가장 대표적인 ORM 라이브러리는 SQLAlchemy입니다. SQLAlc..
안녕하십니까 집공이입니다. 오늘은 ORM에 대해서 배워보도록 하겠습니다. 1. ORM의 정의 ORM(객체 관계 매핑)은 객체와 관계형 데이터베이스 사이의 매핑을 처리하는 기술로, 데이터베이스에서 가져온 데이터를 객체로 변환하고, 객체에서 데이터베이스에 저장된 데이터를 변환하는 작업을 자동으로 처리해줍니다. ORM을 사용하면 SQL 질의를 직접 작성하지 않아도 되므로, 개발자가 객체 모델에만 집중할 수 있게 되어 개발 생산성이 향상됩니다. 또한, ORM을 사용하면 데이터베이스의 종류나 스키마 변경 시에도 애플리케이션 코드를 수정하지 않아도 됩니다. 대표적인 파이썬 ORM으로는 Django ORM, SQLAlchemy 등이 있습니다. Django ORM은 Django 프레임워크와 함께 제공되는 ORM으로, ..