Spring Boot/JPA3 [Spring][JPA] DTO로 조회 하기 프로젝트 구조 JPA DTO 사용하는 이유 JPA 사용시에 Table 구조가 변경된 경우나 변경을 하지 않고 두개 이상의 Table을 Join해야 하는 경우에 종종 사용합니다. entity를 조회하여 코드상에서 데이터 조합을 하지 않고 JPA 쿼리를 이용하여 좀 더 빠른 성능을 낼수 있습니다. // 테이블 예제1 @Getter @Setter @Entity @Table(name = "shopping_basket") @Builder @AllArgsConstructor @NoArgsConstructor public class ShoppingBasketEntity { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long basket_id; priva.. 2022. 10. 11. [Spring][JPA] Transactional Annotation Transaction 이란? Database의 data 일관성을 유지하기 위해 사용하는 단위입니다. 참고 링크 [개념 정리] Transaction에서 ACID와 MVCC란? Transaction이란? 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있 paciencia.tistory.com Spring에서는 해당 개념 단위를 제어할 수 있는 Annotation을 제공 합니다. @Transactional public class SampleService { // 클래스 적용 } @Transactional public void insertSampleData(Object data) { // 매서드.. 2022. 9. 15. [Spring][JPA] JPA란? Persistence Layer - 영속성 계층 Spring 에서 DAO 객체를 사용하여 Database와 커넥션 등을 유지하는 것을 이야기 합니다. Mybatis와 JPA에서의 가장 큰 차이점을 따지고 본다면 DAO interface를 만들지 않고 JpaRepository 를 상속 받아 사용하게 됩니다. 이렇게 되면 가장 큰 이점으로 xml등의 파일을 따로 관리 하지 않고 Repository 내에서 Query를 조합하여 좀 더 직관적이고 객체 관점의 쿼리등이 가능해 집니다. Query 방법 예약되어 있는 query를 메서드 형태로 바로 불러와 사용도 가능하고 @Query annotation을 사용하여 native query 혹은 DTO 객체를 만들수도 있습니다. // 1. 예약 Query findAll.. 2022. 9. 14. 이전 1 다음