티스토리 뷰

카테고리 없음

EntityManager

eyoadgkn 2024. 6. 8. 21:46
EntityManager
EntityManager는 JPA의 인터페이스로, 엔티티 관리 및 데이터베이스 작업을 처리합니다.

엔티티 생성, 조회, 수정, 삭제
트랜잭션 관리
엔티티 관계 관리
JPQL(Java Persistence Query Language) 쿼리 실행
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

// 엔티티 클래스
@Entity
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private int price;
}

public class ProductService {
    private EntityManager em;

    public ProductService() {
        // EntityManagerFactory 생성
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("myPersistenceUnit");
        em = emf.createEntityManager();
    }

    public void createProduct(String name, int price) {
        // 트랜잭션 시작
        em.getTransaction().begin();

        // 엔티티 생성 및 저장
        Product product = new Product();
        product.setName(name);
        product.setPrice(price);
        em.persist(product);

        // 트랜잭션 커밋
        em.getTransaction().commit();
    }

    public Product findProduct(Long id) {
        // 엔티티 조회
        return em.find(Product.class, id);
    }
}

 

EntityManager를 사용하여 Product 엔티티를 생성, 저장, 조회하는 방법을 보여줍니다.
EntityManager를 사용하는 이유로
엔티티 관리: EntityManager는 엔티티의 생성, 조회, 수정, 삭제 등의 작업을 처리합니다.
이를 통해 개발자는 데이터베이스 작업에 대한 복잡한 로직을 작성할 필요가 없습니다.

트랜잭션 관리: EntityManager는 데이터베이스 트랜잭션을 관리합니다.
이를 통해 데이터의 일관성과 무결성을 보장할 수 있습니다.

엔티티 관계 관리: EntityManager는 엔티티 간의 관계(OneToOne, OneToMany, ManyToOne, ManyToMany)를 관리합니다. 이를 통해 복잡한 데이터 모델을 쉽게 구현할 수 있습니다.

JPQL 쿼리 실행: EntityManager는 JPQL(Java Persistence Query Language)을 사용하여 데이터베이스 쿼리를 실행할 수 있습니다. 이를 통해 SQL 쿼리를 직접 작성할 필요 없이 객체 지향적인 방식으로 데이터를 조회할 수 있습니다.
*JPQL(Java Persistence Query Language)
JPA에서 사용되는 객체 지향 쿼리 언어입니다.
JPQL은 SQL과 유사한 구문을 가지지만, 테이블과 열 대신 엔티티와 속성을 사용합니다.
SQL과 유사한 문법으로 데이터를 조회할 수 있으며, 객체 지향적인 방식으로 코드를 작성할 수 있습니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
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
글 보관함