본문 바로가기

전체 글196

<공지> 이전 안내 이전 장소 : https://github.com/jkroh1995/Effective-JAVA GitHub - jkroh1995/Effective-JAVA Contribute to jkroh1995/Effective-JAVA development by creating an account on GitHub. github.com 내용을 이해한 바를 정리하는 스터디로 진행하게 되어 이전합니다. 2023. 4. 6.
21. Spring Data JPA 시작하기 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * JPA를 쌩으로 사용하지는 않는다 Spring Boot와 Spring Data JPA를 조합해서 (거의) 설정 없이 JPA를 Spring에 연동해서 사용한다. 자동 설정 persistence.xml EntityManagerFactory 초기화 스프링 연동 스프링 트랜잭션 연동 EntityManager 연동 * 사용법 spring-boot-starter-data-jpa dependency를 추가한다. 필요한 설정 자동 처리 JPA를 사용하기 위한 스프링 부트 설정을 진행한다. Repository 인터페이스를 상속 받은 인터페이스를 엔티티 단위로 생성한다. 또는 그 하위 인터페이스 지정한 규칙에 맞게.. 2023. 4. 6.
20. 기타 AttributeConverter, @Formula, @DynamicUpdate(@DynamicInsert), @Immutable, @Subselect 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * AttributeConverter 매핑을 지원하지 않는 자바 타입과 DB 타입 간 변환 처리를 담당한다. ex) boolean 타입을 char 타입으로 매핑하고 싶을 때 open_yn (char)를 opened (boolean)에 매핑하고 싶다. 이걸 AttrivuteConverter가 해준다. AttributeConverter를 구현한 클래스를 먼저 만든다. AttributeConverter에는 convertToDatabaseColumn() 과 convertToEntityAttribute()가 정의되어 있다. convertToDatabaseColumn() : 엔티티 속성을 DB 칼럼 값으로 바꿔.. 2023. 4. 5.
19. Criteria 소개 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * Criteria 코드로 쿼리를 구성하는 API JPQL 대신 자바 코드 사용 CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery cq = cb.createQuery(Review.class); /** * cq를 이용해서 쿼리 구성 */ Root root = cq.from(Review.class); cq.select(root); Predicate p = cb.conjunction(); if (hotelId != null) { p = cb.and(p, cb.equal(root.get("hotelId"), hotelId)); } p = cb.and(.. 2023. 4. 4.
Section 2 - Unit 7 : Spring Framework 기본 Review Review 에서는 학습한 내용을 다시금 기록합니다. Unit Review는 학습한 내용 중 기존에 알고 있었지만 정확하게 이해하지 못하던 정보와 새롭게 알게된 정보를 기록합니다. 추가적인 설명을 요하는 부분은 댓글로 남겨주세요. Section Review는 전반적인 Section을 되돌아보고 학습했던 시간과 과정, 내용을 총괄하여 기록합니다. Spring Framework 특징 * POJO (Plain Old Java Object) IoC / DI, AOP, PSA는 스프링의 가장 핵심이 되는 세 가지 방법론이다. POJO는 이들에 둘러쌓여있다. 즉, 위의 세 방법을 통해 POJO를 달성할 수 있다. - 그래서 POJO가 뭔데? POJO는 Plain Old Java Object의 줄임말로, 말 그대로 .. 2023. 3. 31.
18. JPQL 소개 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * JPQL JPA Query Language SQL 쿼리와 유사하다. 테이블, 칼럼명 대신 엔티티 이름, 속성을 사용한다. 테이블 대신 엔티티인 Review를 사용한다. r.hotelId 는 칼럼명이 아닌 Review의 필드 멤버, 즉 Review의 속성이다. createQuery()의 두 번째 인자로 해당 엔티티 클래스라는 것을 명시한다. 해당 메서드의 결과로 TypedQuery 객체가 생성된다. setParameter();를 통한 파라미터 바인딩이 가능하다. 위의 JPQL문에서 :Property 형태로 쓰인 부분에 바인딩을 해준다. setParameter();의 첫 번째 인자는 바인딩 될 부분 .. 2023. 3. 30.
반응형