'자바' 태그의 글 목록
본문 바로가기
728x90

자바4

자바 JPA 트랜잭션 커밋(commit) 자바 JPA에서 트랜잭션 커밋(commit)은 일반적으로 메소드 실행이 끝나고 반환(return)되는 시점에서 발생합니다. 트랜잭션은 데이터베이스에 대한 작업을 묶어서 하나의 논리적인 작업으로 처리하는 것입니다. 이 때 트랜잭션이 수행되는 중간에 오류가 발생하거나 예상치 못한 결과가 발생하면 이전의 작업들을 모두 취소하고 원래의 상태로 되돌려야 합니다. 따라서, 트랜잭션은 "원자성(atomicity)"이 보장되어야 합니다. JPA에서는 EntityManager를 사용하여 데이터베이스에 대한 작업을 수행합니다. EntityManager는 트랜잭션 범위 내에서 작동하며, 이 범위는 보통 서비스 레이어에서 관리합니다. 따라서, 트랜잭션을 시작하고 커밋하는 것은 보통 서비스 레이어의 메소드에서 수행됩니다. 메소.. 2023. 5. 11.
JPA(Entity Manager)는 자바에서 ORM(Object Relational Mapping) 기술을 지원하기 위한 API JPA를 사용하면 관계형 데이터베이스와 객체 지향 프로그래밍 간의 불일치를 해결할 수 있으며, 객체를 데이터베이스에 저장하거나 조회할 수 있는 기능을 제공합니다. JPA에서는 Entity라는 개념을 사용합니다. Entity는 데이터베이스에서 관리되는 객체로, 데이터베이스의 레코드와 매핑되는 자바 클래스를 말합니다. Entity는 @Entity 어노테이션을 사용하여 정의되며, 해당 클래스의 인스턴스는 데이터베이스의 레코드와 매핑됩니다. EntityManager는 JPA에서 Entity를 관리하고, 데이터베이스와의 상호작용을 담당하는 주요한 클래스 중 하나입니다. EntityManager는 EntityManagerFactory를 통해 생성되며, 데이터베이스와의 연결과 트랜잭션 관리를 담당합니다. Entity.. 2023. 5. 11.
[JPA 매커니즘] JpaRepository Spring-Data-Jpa에서는 반복되는 코드없이 쉽게 JPA Repository를 만들 수 있다. extends JpaRespository으로 인터페이스를 상속하고 커스텀이 필요한 메소드는 오버라이딩하면 된다. 스프링의 변경감지는 EntityManger별로 수행한다. 같은 쓰레드에서 Spring-Data가 제공하는 Repository들은 하나의 EntityManager를 공유한다. 그래서 하나의 컨테이너에서 여러 Repository가 사용하는 EntityManager는 동일하다. -출처: kakaAdFit- JPA는 반복적인 CRUD SQL을 처리해준다. JPA는 매핑된 관계를 이용해서 SQL을 생성하고 실행하는데, 개발자는 어떤 SQL이 실행될지 생각만하면 되고, 예측도 쉽게 할 수 있다. 추가적으.. 2023. 5. 11.
[ SpringBoot ] ModelMapper 라이브러리 이용하기 엔티티와 DTO간에 변환 시 자동으로 Object를 매핑시켜주는 라이브러리 주의: 매핑해줄 클래스에는 setter가 있어야하고 매핑이 되는 클래스에는 getter가 있어야 사용 가능하다! 기본적으로 ModelMapper에서 제공하는 map() 메서드를 이용하면 변환할 수 있고 클래스 내부에 있는 변수들의 이름을 분석해서 자동 매핑시켜주는 방식이다. 이 map() 메소드가 호출되면 source(from)와 destination(to)의 타입이 분석되고 matching strategy와 configuration에 의해서 어느 프로퍼티가 매칭될지 결정된다. 때에 따라서 매핑을 명시적으로 정의해야 하는데, ModelMapper는 다양한 매핑 접근 방식을 지원하므로 메서드와 필드참조를 혼합해서 사용할 수 있다. .. 2023. 5. 11.
728x90