일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- EntityFramework
- 자바스크립트틱택토
- slice
- 인프런자바스크립트
- 인프런
- 인프런강좌
- 인터넷프로토콜
- 인프런무료강좌
- 객체리터럴
- 인프런강의
- 고차함수
- 콜백함수
- 틱택토구현
- 자바스크립트
- HTTP
- 자바스크립트객체리터럴
- .NET
- 객체의비교
- 이벤트리스너
- c#
- sort
- 자바스크립트recude
- NPM
- 코딩
- 비주얼스튜디오
- 자바스크립트파라미터
- 자바스크립트함수
- 인프런인강
- Blazor
- 제로초
- Today
- Total
목록포토폴리오/Spring-Boot,JPA - 쇼핑몰사이트 v2 (7)
샐님은 개발중
Auditing : Spring Data Jpa 가 제공하며 엔티티가 저장 또는 수정될 때 자동으로 등록일, 수정일, 등록자, 수정자를 입력해줍니다. 1. AuditorAware 인터페이스를 구현한 클래스를 생성합니다. package won.shop.config; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import java.util.Optional; public class AuditorAwareImpl implements org.springframework.data.domain.AuditorAware { @Overr..
고아 객체 제거 : 부모 엔티티와 연관 관계가 끊어진 자식 엔티티를 고아 객체라고 한다. 영속성 전이 기능과 같이 사용시 부모 엔티티 통해 자식의 생명 주기를 함계 관리가능하다. 고아 객체 제거 기능은 참조하는 곳이 하나일 때만 사용가능하다. @OneToOne, @OneToMany 어노테이션에 옵션으로 사용. 1. order 엔티티에 orderItems 필드에 OneToMany 옵션 추가 @OneToMany(mappedBy = "order",cascade = CascadeType.ALL,orphanRemoval = true) private List orderItems = new ArrayList(); 2.order 엔티티에서(부모) orderItem (자식)을 삭제 했을 때 orderItem 엔티티가 삭..
영속성 전이 : casecade이며 엔티티의 상태를 변경할 때 해당 엔티티와 연관된 엔티티의 상태 변화 전파하는 옵션이다. 이때 부모는 One에 해당하고 자식은 Many에 해당한다. 영속성 전이 옵션은 단일 엔티티에 완전히 종속적이고 부모 엔티티와 자식 엔티티의 라이프 사이클이 유사할때 cascade 옵션을 활용하길 권장. Order - OrderItem 1. 주문 엔티티 저장하기 위한 OrderRepository 생성 package won.shop.Repository; import org.springframework.data.jpa.repository.JpaRepository; import won.shop.domain.Order; public interface OrderRepository extends..

연관관계 매핑 종류 1. 일대일 : @OneToOne 2. 일대다 : @OneToMany 3. 다대일 : @ManyToOne 4. 다대다 : @ManyToMany 1. 일대일 단반향 매핑 장바구니 -회원 엔티티 관계는 장바구니가 일대일로 회원을 매핑한다. 1) Cart 엔티티 생성 package won.shop.domain; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; @Getter @Setter @Entity public class Cart { @Id @GeneratedValue @Column(name="cart_id") private long id; @OneToOne @JoinColumn(name="member_i..
1. 스프링 시큐리티를 이용해서 로그인 구현 - UserDetailsService 인터페이스 - 데이터베이스에서 회원 정보를 가져오는 역할 담당. loadUserByUsername() 메소드 존재, 사용자의 정보와 권한을 갖는 UserDetails 인터페이스 반환 1) 기존에 만들었던 MemberService에 UserDetailsService 를 구현해보자. (패키지/임포트 정보 생략) @Service @Transactional @RequiredArgsConstructor public class MemberService implements UserDetailsService { (중략) @Override public UserDetails loadUserByUsername(String email) thro..

1. 스프링 시큐리티 설정 - config 패키지 생성 -> SecurityConfig.java 생성 package won.shop.config; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; ..

프로젝트 생성 1. 프로젝트 정보 이름 사용 툴 버전 형성관리도구 intellij 3.0.9 프로젝트 생성 spring boot 데이터베이스 mssql java 17 2. 사용한 디펜던시 plugins { id 'java' id 'org.springframework.boot' version '3.0.9' id 'io.spring.dependency-management' version '1.1.2' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCent..