[Spring Data JPA] Querydsl
·
Web & Android/Spring Data JPA
Querydsl은 JPQL을 코드로 작성할 수 있도록 도와주는 빌더 API 문자열이 아닌 자바 소스코드로 작성하기 때문에 컴파일 시점에 오류 발견 가능 쿼리를 재사용할 수 있으며 제약 조건 조립 및 가독성을 향상시킬 수 있음 고정된 SQL문이 아닌 조건에 맞게 동적으로 쿼리 생성 가능 자동완성기능을 이용하여 생산성 향상시킬 수 있음 이전 버전 // querydsl 추가 1 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '3.1.2' id 'io.spring.dependency-management' version '1.1.2' } group = 'kr.inhat..
[Spring Data JPA] @Query
·
Web & Android/Spring Data JPA
@Query @Query 어노테이션을 사용해 Custom으로 쿼리문을 지정할 수 있다. public interface MemberRepository extends JpaRepository { @Query("select m.username from Member m") List findUsernameList(); } SQL과 유사한 JPQL이라는 객체지향 쿼리 언어를 통해 복잡한 쿼리도 처리 가능 JPQL 엔티티 객체를 대상으로 쿼리를 수행하는 객체지향 쿼리 SQL을 추상화해서 사용하기 때문에 특정 데이터베이스 SQL에 의존하지 않음 import com.shop.entity.Item; import org.springframework.data.jpa.repository.JpaRepository; public ..
[Spring Data JPA] JPA
·
Web & Android/Spring Data JPA
💡 매핑의 뜻 : 키(key) 역할을 하는 데이터와 값(value) 역할을 하는 데이터를 짝 지어(=연결 지어) 저장하는 데이터 구조 JPA(Java Persistence API) 자바 ORM 기술에 대한 API 표준 Persistence : 영속성 persist() 메소드를 사용해서 저장 Hibernate, OpenJPA ⇒ API(Application Programming Interface) Spring Data JPA save() 메소드를 사용해 저장이나 업데이트를 함 JPA 장점 특정 데이터베이스에 종속되지 않음 조금 종속 됨, 거의 구분없이 사용 가능 오라클, MySQL, MSSQL 등등을 왔다갔다 하면서 사용 가능 객체지향적으로 설계 가능 직관적이고 비즈니스 로직에 집중 유지보수 유리 및 생산..
[Spring Data JPA] QueryMethod
·
Web & Android/Spring Data JPA
Spring Data JPA에서 제공하는 공동 인터페이스는 기본적인 CRUD를 제공해준다. (JpaRepository) 조인 불가 Repository 인터페이스에 간단한 네이밍 룰을 이용하여 메소드를 작성하면 원하는 쿼리 실행 가능 엔티티의 이름은 생략 가능, By 뒤에는 검색할 때 사용할 변수의 이름 작성 조건이 많을 때 쿼리 메소드를 선언하면 이름이 길어져 오히려 보기 힘들다는 단점이 있음 → 그래서 @Query 어노테이션 사용 JpaRepository Entity의 클래스명 + Repository 로 인터페이스 생성 JpaRepository 상속 (extends) 속성으로 ‘Entity의 클래스명’, ‘Entity기본키(Id)의 타입’ 지정 public interface UserRepository ..
[SpringBoot] 한글 변환(\u~)
·
Web & Android/SpringBoot
application.properties 우클릭 → properties → Text file encoding → other → UTF-8로 변경 이클립스 콘솔 한글깨짐 해결 방법 저는 평소에 맥북을 사용하고 있습니다. 그런데 테스트 환경이 맥 환경을 지원하지 않는다고 해서 윈도우에 새로 개발환경을 세팅했습니다. 그리고 톰캣을 시작했는데 콘솔창에 한글이 깨져서 error-nono.tistory.com
[SpringBoot] 에러 처리
·
Web & Android/SpringBoot
4xx - 클라이언트 에러 5xx - 서버 에러 1) pom.xml 파일에서 Unknown 에러 없애기 안에 3.1.1을 추가(프로퍼티 버전 설정을 추가) 그리고 나서, 프로젝트 선택 후 마우스 오른쪽 클릭 → [Maven] → [Update Project …] 선택 2) 생성한 프로젝트에 빨간 느낌표 뜨는 경우 프로젝트 우클릭 → Properies → Libraries → JRE System Library 버전 변경 내 경우엔 디폴트 JRE로 변경해주니 에러가 사라짐 3) java.lang.UnsupportedClassVersionError Eclipse run 시 발생 JRE를 1.8로 변경하니 해결됨 4) 스프링부트 Whitelabel Error Page 에러 gradle에 추가한 의존성의 버전을 ..