HELLO SHOP 회원 기능 회원 가입 회원 목록 상품 기능 상품 등록 상품 목록 주문 기능 상품 주문 주문 내역 th:replace로 인클루드를 할 수 있다. 예를 들어 resouces/templates/fragments 아래 경로의 header.html 설정을 이렇게 잡을 때에 인클루드 시킬 코드에 th:fragment="header"로 이름을 정해주면 home.html에서는 th:replace="경로 :: 이름"으로 사용이 가능해진다. 그 외에 tiles와 비슷하게 미리 템플릿을 짠 후에 사용이 가능하게 만들 수도 있다. 참고: Hierarchical-style layouts** 예제에서는 뷰 템플릿을 최대한 간단하게 설명하려고, `header` , `footer` 같은 템플릿 파일을 반복해서 포..
/** * 취소 */ @Transactional public void cancel(Long orderId){ //주문 엔티티 조회 Order order = orderRepository.findOne(orderId); //주문 취소 order.cancel(); } 주문을 취소하는 메소드를 만들었다. cancle(); 안의 메소드를 보면 //==비지니스 로직 ==// /** * 주문 취소 */ public void cancel(){ if(delivery.getStatus() == DeliveryStatus.COMP){ throw new IllegalStateException("이미 배송완료 된 상품은 취소가 불가능합니다."); } this.setStatus(OrderStatus.CANCEL); for(Ord..
repository package jpabook2.jpashop2.repository; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import jpabook2.jpashop2.domain.Member; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import java.util.List; @Repository @RequiredArgsConstructor //autowired가 지원하기에 이것 또한 가능하다.final만 생성하기 public class MemberRepository..
테이블, 컬럼명 생성 전략 스프링 부트에서 하이버네이트 기본 매핑 전략을 변경해서 실제 테이블 필드명은 다름 https://docs.spring.io/spring-boot/docs/2.1.3.RELEASE/reference/htmlsingle/#howto- configure-hibernate-naming-strategy http://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#naming 하이버네이트 기존 구현: 엔티티의 필드명을 그대로 테이블의 컬럼명으로 사용 ( `SpringPhysicalNamingStrategy` ) 스프링 부트 신규 설정 (엔티티(필드) 테이블(컬럼)) 카멜 케이스 언더스코어(me..
1)실무에서는 `@ManyToMany` 를 사용하지 말자 `@ManyToMany` 는 편리한 것 같지만, 중간 테이블( `CATEGORY_ITEM` )에 컬럼을 추가할 수 없고, 세밀하게 쿼리 를 실행하기 어렵기 때문에 실무에서 사용하기에는 한계가 있다. 중간 엔티티( `CategoryItem` 를 만들고 `@ManyToOne` , `@OneToMany` 로 매핑해서 사용하자. 정리하면 다대다 매핑을 일대다, 다대일 매핑으로 풀어내 서 사용하자. package jpabook2.jpashop2.domain; import jakarta.persistence.Embeddable; import lombok.Getter; @Embeddable //jpa 내장타입 @Getter public class Address..
먼저 properties가 아닌 yml 파일을 사용한다. spring: #띄어쓰기 없음 datasource: #띄어쓰기 2칸 url: jdbc:h2:tcp://localhost/~/jpashop #4칸 username: sa password: driver-class-name: org.h2.Driver jpa: #띄어쓰기 2칸 hibernate: #띄어쓰기 4칸 ddl-auto: create #띄어쓰기 6칸 properties: #띄어쓰기 4칸 hibernate: #띄어쓰기 6칸 #show_sql: true #띄어쓰기 8칸 format_sql: true #띄어쓰기 8칸 logging.level: #띄어쓰기 없음 org.hibernate.SQL: debug #띄어쓰기 2칸 org.hibernate.type:..
- Total
- Today
- Yesterday
- Java
- HTTP
- ArgumentResolver
- exception
- 컨트
- rejectValue
- 인터셉터
- 항해플러스
- 예외처리
- JPA
- 스프링공부
- SpringBoot
- 항해99
- Intercepter
- 백엔드 개발자 공부
- 로그인
- thymleaf
- react실행
- 백엔드 개발자 역량
- 리터럴
- React
- reject
- 스프링부트
- 향해플러스백엔드
- hypertexttransferprotocol
- jpa api
- filter
- BindingResult
- 향해플러스
- 향해99
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |