본문 바로가기

JAVA

(20)
Spring Data Jpa(쿼리 메소드) @Query 어노테이션 사용법 @Query JPQL를 직접 정의할수있는 어노 테이션 입니다. 1. JPA 의 @NamedQuery에 정의된 쿼리를 직접 정의 하여 사용할수있습니다. 이런식으로 사용할수가있다. NamadQuery의 이름과 레퍼지토리의 메소드 이름이 같은 경우 @Query 어노테이션 생략 가능하다. 2.단순한 컬럼 리스트를 조회하기 위한 쿼리문 3. DTO로 직접 조회 4.파라미터 바인딩 - @Param
JPA 사용법 (JPA Repository) Entity (Domain이라고 생각하면 된다.) DB에 저장하기 위해 유저가 정의한 클래스 일반적으로 RDBMS에서 TABLE을 객체화 시킨것으로 보면 된다.그래서 table이름이나 컬럼들에 대한 정보를 가진다 vo와는 살짝 다른 개념 @id primary key를 가지는 변수를 선언하는것을 의미한다. @GeneratedValue 어노 테이션은 해당 ID값을 어떻게 자동으로 생성할지 전략을 생성할수있다. 여기서는 DB설정에 따르겠다는 의미 auto등으로 지정해놓을수가있다. @Table 별도의 이름을 가진 DB 테이블과 매핑한다. 기본적으로 @Entity로 선언된 클래스의 이름은 실제 DB의 일치하는것을 매핑한다. @Entity의 클래스명과 DB의 테이블 명이 다를경우 Table(name = "")으로 ..
Spring Boot 전체적인 구조 DataFlow(Controller,Service,Repository) Controller란? 기능 해당 요청 url에 따라 적잘한 view와 mapping 처리 @Autowired @Service를 통해 service와 method를 이용 적절한 ResponseEntity(DTO)를 body에 담아 Client에 반환한다. @Controller API와 View를 동시에 사용하는 경우 사용 대신 API서비스를 사용하는 경우에는 @ResponseBody 를 사용하여 객체를 반환 ★ VIew(화면) return이 주 목적이다.! @RestController view가 필요없는 API만 지원하는 서비스에서 사용 (Spring 4.0.1부터 제공) @RequestMapping 메소드가 기본적으로 @RequestBody 의미를 가정한다. data(json, xml) return이 ..
Entity , Dto 차이점 개념 Entity란? 실제 DB의 테이블과 매칭 될 클래스(*테이블과 링크된다는 의미) @Entity, @Column, @Id 등으로 이용한다. 최대한 외부에서 Entity클래스의 Getter Method를 사요하지 않도록 해당 클래스 안에서 필요한 Logic Method를 구현한다! ◇ 단, Domain Logic 만 가지고있어야 하고 Presentation Logic을 가지고 있어서는 안된다. ◇ 여기서 구현 한 Method는 주로 ServiceLayer에서 이용된다. Qustion; ◆ Entity Class와 DTO를 나누는 이유는?? ◇ View Layer와 DB Layer의 역할을 철저하게 분리하기 위해서 ! (각각의 Layer에 집중을 하기위해서?) ◇ 테이블과 매핑되는 Entity클래스가 변경되..

반응형