JPA

김효준·2023년 11월 26일
0

수업정리

목록 보기
36/41

스프링 3.2.0이 나왔다.
AntPathRequestMatcher h2관련 버그가 해결됨

@Configuration
public class SecurityConfig {
    @Bean
    SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http
                .csrf(
                        csrf -> csrf
                                .ignoringRequestMatchers("/h2-console/**")
                )
                .headers(
                        headers -> headers
                                .addHeaderWriter(
                                        new XFrameOptionsHeaderWriter(XFrameOptionsHeaderWriter.XFrameOptionsMode.SAMEORIGIN)
                                )
                )

스프링 시큐리티 적용된 상태에서 h2 적용하려면 csrf토큰 관련 코드가 필요하다.

server:
  port: 8020
spring:
  thymeleaf:
    cache: false
  h2:
    console:
      path: /h2-console
  datasource:
    url: jdbc:h2:mem:sb_dev;MODE=MySQL
    driverClassName: org.h2.Driver
    username: sa
    password:
  mvc:
    hiddenmethod:
      filter:
        enabled: true

현재 application.yml

레이어드 아키텍쳐

C
S
R
DB
이렇게 계층을 쌓아왔다.
현재 리포지터리만 잘 갈아끼우면 C S 는 건들 필요 없다.
domain
attr환경변수
컴터가 꺼져도
멤버는 멤버테이블
게시물은 게시물테이블
그 외에 짜잘한건 attr에 넣겠다.

ddl-auto:create
엔티티붙은 클래스를 테이블화시켜준다
프로젝트가 껏다 켜지면 디비날리고 다시만들어줌
근데 메모리모드로 h2설정했으면 어차피 그단계에서 디비날라감

dml

@Builder
빌더를 하려면 @AllArgsConsturcotor

엔티티 만들면 무조건 인터페이스 레포지터리 만들고 jpa상속 받아야함

디비와 관련된 서비스는 무조건 트랜잭셔널 어노테이션 붙여야된다.

0개의 댓글