목록분류 전체보기 (170)
관심쟁이 영호

지금부터는 어플리케이션을 만들어 볼 예정이다. 만들기에 앞서서, 어플리케이션을 어떤식으로 운용할지 아키텍처를 구상해야한다. 일반적으로 많이사용하는 형식으로 할것이다. 아키텍쳐를 전반적으로 설명하는 아래 그림을 살펴보자! 1. 계층형 구조 - controller, web : 웹 계층이다. - service : 비즈니스 로직, 트랜잭션 처리를 한다. - repository: JPA를 직접 사용하는 계층이다. 엔티티 매니저를 사용한다. - domain : 엔티티가 모여 있는 계층이다. 모든 계층에서 가용된다. 2. 패키지 구조 jpabook.jpashop - domain - exception - repository - service - web 3. 순서 - 서비스, 리포지토리 계층 개발 -> 테스트 케이스 작..

기본적으로 리눅스를 사용하기 위해서는 기본 명령어를 다룰줄 알아야한다. 자전거를 탈건데, 다리를 사용할줄 모름련 안되니까.. 리눅스에는 많은 기본 명령어가 있다. 표로 살펴보자! 1. ls 명령어 설명 ls 해당 디렉토리 파일 나열 ls -a 숨긴 파일까지 출력 ls -l 속성, 크기, 생성날짜까지 출력 ls -al a, l 속성 합친것 ls etc/system 지정 경로 파일출력 ls etc/system/s* 지정 경로에서 s로 시작하는 파일 명 출력 2. cd 명령어 설명 cd 디렉터리 이동 cd / 루트로 이동 cd etc/system etc의 system 폴더로 이동 cd .. 현재 디렉터리의 상위 폴더로 이동 3. pwd 명령어 설명 pwd 현재 디렉터리 모든 경로 출력 4. rm 명령어 설명 ..

1. Getter와 Setter 실무에서는 Getter를 이용하여 데이터 조회를 하는 경우가 상당히 많다. 그래서 Getter를 열어두지 않으면 많이 힘들다. 그래서 열어두는 것이 좋다. 반면에, Setter는 데이터를 잘못 바꾸는 경우가 있어서 열어두었다가 어느 부분에서 어떻게 데이터가 업데이트 되었는지 파악하기가 힘든 경우가 있다. 그래서 꼭 필요한 경우가 아니라면 Setter를 닫아두는 것을 추천하신다. -> 변경전용 비지니스 메서드가 필요하다. 2. 엔티티 식별자 엔티티의 식별자는 id, PK 컬럼명은 member_id를 사용해주는 이유는, 엔티티는 타입이 있어서 id필드 만으로 쉽게 구분할 수 있지만, 테이블은 타입이 없다. 그래서 구분이 상당히 힘들다. 그리고 관례상 테이블은 테이블명 + id..

Context란? 어떠한 대상에 대한 모든 정보를 가지고 있는 것이 Context다. 그럼 영속성 Context란? 영원히 저장해야하는 Context를 말한다. Spring에서의 영속성 Context는 이렇게 이해할 수 있다. 자바를 이용해서 데이터를 조회하거나 입력할 때, 직접적으로 DB에 요청하는 것이 아니다. 중간에 영속성 컨텍스트라는 것이 있고, 영속성 컨텍스트에 호출을 하게 되면 영속성 컨텍스트가 DB에 직접가서 받아오거나 입력한다. 왜 필요한걸까? 1. 트랜잭션을 지켜 "쓰기 지연"을 제공한다. 이 말은 어떠한 값을 입력할 때, Insert가 따로 동작하면 모든 것을 한번에 처리할 수 있도록 도와준다는 말이다. 모종의 이유로 따로 동작하다가 1개는 insert되고, 다른 하나는 insert가 ..

이제 카테고리 엔티티 클래스를 작성할 차례이다. 1. 카테고리 작성 @Entity @Getter @Setter public class Category { @Id @GeneratedValue @Column(name = "category_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item",// 다대다 관계에서는 중간 테이블을 통해서 매칭시켜주어야한다. joinColumns = @JoinColumn(name = "category_id"), //중간 테이블에 있는 아이템 inverseJoinColumns = @JoinColumn(name = "item_id")) // 거기에 있는 item으로 들어가는 것 ..

이번 게시글은 이전 수업의 연장으로 다른 엔티티를 살펴볼 예정이다. ※ 현재까지 느낀 바로는, 문서를 읽을 줄 아는 능력이 필수인 듯 한다. 그 의미는 UML을 읽을 줄 알아야한다. 1. 클래스를 완성시켜준다. - OrderItem, Item, Delivery, Address를 작성해준다. // OrderItem @Entity @Getter@Setter public class OrderItem { @Id @GeneratedValue @Column(name = "order_item_id") private Long id; private Item item; @ManyToOne @JoinColumn(name = "order_id") private Order order; private int orderPrice;..