Main
-
Spring boot - 영속성 전이(cascade)공부/Spring 2023. 12. 6. 15:34
영속성 전이 : 엔티티의 상태를 변경할 때 해당 엔티티와 연관된 엔티티의 상태 변화를 전파시키는 옵션 부모 : 자식 = 1 : N 부모 엔티티 삭제시 자식 엔티티가 삭제 되거나 부모 엔티티에를 저장할 때 부모에 담겨진 자식 엔티티를 한번에 저장할 수 있다 CASCADE 종류 설명 PERSIST 부모 엔티티가 영속화될 때 자식 엔티티도 영속화 MERGE 부모 엔티티가 병합될 때 자식 엔티티도 병합 REMOVE 부모 엔티티가 삭제될 때 연관된 자식 엔티티도 삭제 REFRESH 부모 엔티티가 refresh되면 자식 엔티티도 refresh DETACH 부모 엔티티가 detach 되면 연관된 자식 엔티티도 detach 상태로 변경 ALL 부모 엔티티의 영속성 상태 변화를 자식 엔티티에 모두 전이 *주의사항 - 영..
-
Spring boot - 연관 관계 매핑공부/Spring 2023. 12. 6. 14:17
*연관 관계 매핑 종류 - 일대일(1 : 1) @OneToOne - 일대다(1 : N) @OneToMany - 다대일(N : 1) @ManyToOne - 다대다(N : M) @ManytoMany *방향성 : 테이블 관계는 항상 양방향 이지만 객체세서는 단방향 양방향이 존재한다 단방향 : 한쪽에만 관계를 맺어 관계를 맺은 테이블에 정보를 Join해서 가져올 수 있다 양방향 : 양쪽에서 모두 관계를 만들어 어느쪽에서 조회를 해도 Join해서 정보를 가져온다 - 일대일 단방향 Cart -> Member - Cart에 Member의 OnoToOne 관계를 만든다 - Member는 변화 없다 - Cart조회시 해당 Member의 정보를 가져올 수 있다 -FetchType.EAGER, 즉시로딩 : 데이터를 조회할 ..
-
Spring boot - 권한공부/Spring 2023. 12. 5. 17:46
Securityconfig 에서 @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable() .authorizeRequests() .antMatchers("/*/*").permitAll() .antMatchers("/item/**").hasRole("USER") // 권한수준 등록 .anyRequest().permitAll() .and() .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .exceptionHandling() .authenticationEntryPoint(new CustomAuthe..
-
redux-persist 사용 방법공부/React 2023. 12. 5. 16:43
redux-persist redux + localstorge를 사용의 편의성을 향상을 위해 사용한다 적용전 *로그인시 로그인 정보 저장 기능 //Store.js import { configureStore, createSlice } from "@reduxjs/toolkit"; let Id = createSlice({ name: "Id", initialState: null, reducers: { changeId(state, action) { return action.payload; }, }, }); export default configureStore({ reducer: { userId: Id.reducer, }, }); export let { changeId } = Id.actions; // LoginPa..
-
231204 - 학습내용, 231205 - 학습목표공부/하루노트 2023. 12. 4. 23:30
*validation 어노테이션 (빈 검증 어노테이션) 어노테이션 설명 @NotEmpty Null 체크 및 문자열 경우 길이 0인지 검사 @NotBlank Null 체크 및 문자열일 경우 0 및 빈 문자열(" ") 검사 @Length(min=, max=) 최소, 최대길이 검사 @Email 이메일 형식인지 검사 @Max(숫자) 지정한 값보다 작은지 검사 @Min(숫자) 지정한 값보다 큰지 검사 @Null 값이 NULL인지 검사 @NotNull 값이 NULL인지 검사 *사용법 1. 유효성을 검증할 클래스의 플드에 어노테이션 선언 2. 검증하려는 객체의 앖에 @Vaild 어노테이션을 선언하고, bindingResult 객체 추가 후 bindingResult.hasErrors() 호출 *UserDetailsSe..
-
Spring boot - Querydsl공부/Spring 2023. 11. 27. 21:44
*Querydsl *장점 - JPA의 Query문에 오타가 프로그램이 실행되나 메소드 사용시 문제가 생기게 된다 Querydsl은 클래스에 있는 이름을 사용하기 때문에 코드상에서 문제를 발견 할 수있다 - JPA를 코드적으로 활용하서 사용할 수 있다 *JPAQuery 데이터 반환 메소드 메소드 기능 List fetch() 조회 결과 리스트 반환 T fatchOne 조회 대상이 1건인 경우 제네릭으로 지정한 타입 반환 T fatchFirst() 조회 대상 중 1건만 반환 Long fetchCount() 조회 대상 개수 반환 QueryResult fetchResults() 조회한 리스트와 젠체 개수를 포함한 QueryResults 반환 *QuerydslPredicateExecutor 메소드 기능 long c..
-
231124 - 학습 내용, 231125 - 학습목표공부/하루노트 2023. 11. 24. 11:53
231124 - 학습 목표 - ubuntu apache 에서 새로고침시 url을 못찾는 에러 발생 해결 (완료) - git .readme .gif 넣어서 작성(완료) - aws 데이터 속도 처리 (완료) *문제 발생 기존의 프론트 방법은 서버에 데이터 추가나 삭제 요청후 작업이 완료 되면 서버에 수정된 데이터를 가져오는 방식이였으나 aws에 배포를 해보니 aws 처리 속도가 느려 2~3초정도 후에 프론트 작업 화면이 바뀌게 되었다 *해결 방법 1. 프론트에서 미리 작업을 한다 : 데이터 갱신을 데이터 작업 후에 반영이 되는게 아니라 데이터 작업 전에 미리 데이터를 수정한다 데이터 작업의 성공 여부에 따라 재갱신을 하도록 한다 2. 로컬스토리지 사용으로 일정한 랜더링 가능 데이터 요청후 프론트에 바로 반영..