단순 데이터 조회이므로 데이터나 테이블을 변경할 일이 없습니다.

그래서 dda-auto 옵션을 none으로 바꿔놓겠습니다.

spring:
  datasource:
    url: jdbc:h2:tcp://localhost/~/jpashop
    username: sa
    password:
    driver-class-name: org.h2.Driver

  jpa:
    hibernate:
      **ddl-auto: none**
    properties:
      hibernate:
#        show_sql: true
				format_sql: true

logging:
  level:
    org.hibernate.SQL: debug
    org.hibernate.type: trace

이렇게 하면 테이블을 드랍하지 않기 때문에 데이터를 한 번 넣어두면 지속적으로 데이터베이스에 있는 데이터를 쓸 수 있습니다.

조회기능을 만드는데 데이터를 계속 넣는 것을 하면 귀찮으니까요..

회원조회 V1: 응답 값으로 엔티티를 직접 외부에 노출

@RestController
@RequiredArgsConstructor
public class MemberApiController {

    private final MemberService memberService;

    **@GetMapping("/api/v1/members")
    public List<Member> membersV1() {
        return memberService.findMembers();
    }**

}

실행해보면 미리 넣어둔 데이터가 쭉 나오는 것을 볼 수 있습니다.

Untitled

굉장히 쉽게 만들었죠? 그냥 리스트에 entity 를 반환했으니까요. 그러나 역시 문제점들이 존재합니다.

문제점