![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bmxvse/btrLiiunhBs/gr2g4q4futlf6kSo7R1nok/img.png)
SecurityConfig.kt class SecurityConfig( private val jwtAuthenticationProvider: JwtAuthenticationProvider, SecurityConfig 에서는 JWTConfig 에 Provider를 인자로 넘겨주기 때문에 JwtAuthenticationProvider 를 주입받는다. JwtAuthenticationProvider @Component class JwtAuthenticationProvider( @Value("\${jwt.secret}") val secret: String, @Value("\${jwt.token-validity-in-seconds}") val tokenValidityInSeconds: Long, private va..
에러가 발생한 쿼리 select point.id '포인트번호', point.point '포인트', point.member2_id '멤버아이디', count(board.id) '작성한 게시글 수' from member_point2 point, board where point.member2_id = board.member_id group by board.member_id, point.point, point order by point.point desc limit 5; 발생한 에러 [42000][1055] Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'jpa0807.p.id' which is no..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/wawpq/btrI9lzBmz8/bTJY2Z0j0tyxGt0ykujDyK/img.png)
사용자 입력 값을 프론트에서도 검증할 수 있지만 백엔드에서도 검증 할 필요가 있는 것 같아서 @Valid 를 써봄. 초반에 적용이 안되서 여러가지를 찾아보고 별짓 다함 show kotlin bytecode 로 변환해서 보는데 적용이 안되는 이유가 부모 생성자가 가장 먼저 실행되야하는게 부모 생성자 호출 전 notBlank 설정 코드가 있어서 적용이 안됨,, ㅠ 근데 또 잘 작동하길래 정리해봄ㅋ @Valid 를 사용하기 위해 필요한 라이브러리 (build.gradle에 추가) implementation("org.springframework.boot:spring-boot-starter-validation") RequestDto data class BoardRequest( @field:NotBlank val ..
N+1 상황 (뇌피셜) 일반적인 게시판 (제목을 클릭하는,,) 은 게시글과 댓글을 한번에 가져올 필요가 없다 게시글 제목을 클릭을 하면 id 를 통해 해당 id에 해당하는 게시글과 그 게시글에 달린 댓글을 가져온다. 성능상의 문제는 없음. 게시글 한개에 댓글이 달려봤자.. 얼마나 달리겠어.. 내가 생각한 N+1 문제가 생길 수 있는 곳. .? 인스타그램처럼 무한스크롤 형식이 문제될 것 같음. 왜냐,, 한개의 인스타 글에는 사진, 글, 댓글 정보등 한번에 많은 정보를 가져와야함.. 그래서 하나의 피드에 많은 연관 엔티티가 있고 EAGER 로 한번에 가져오려고,, 할 수 있음,, 밑에처럼,, @Test fun OnePlusNTests() { val response = boardRepository.findAl..
예제 프로젝트에서 양방향 연관관계 연습하다가 자주 만났던 에러,, ToString StackOverFlow,, toString 을 잘 살펴봤어야 했다..! 에러 발생 상황 양방향 관계를 가지는 Team 과 Member을 설계했음 양방향으로 설정한 이유 : Team 에서도 Member 을 조회하고 Member에서도 Team 을 조회하는 기능이 필요할 수 있기 때문 Team 과 Member 엔티티는 다음과 같다 @Entity data class Member( @Id val id: String, @ManyToOne var team: Team ) { override fun toString(): String { return "Member(id='$id', name='$name', email='$email', ph..
Error executing DDL "alter table score drop foreign key FKnap51mbove93yjb09idc9jic6" via JDBC Statement Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "테이블 이름" not found; SQL statement: 수정 전 application.properties spring.jpa.hibernate.ddl-auto = create or spring.jpa.hibernate.ddl-auto = create-drop ddl-auto 설정 : 애플리케이션 구동 시 JPA의 데이터베이스 초기화를 어떻게 할지 설정하는 프로퍼티 create : 기존 테이블 삭제 후 테이블을 생..
- Total
- Today
- Yesterday
- EC2
- Travis CI
- 네이버클라우드
- db
- spring
- ci/cd
- N+1
- Til
- 람다식
- level0
- ORA-27125
- SpringSecurity
- Java
- graphql
- 인덱스
- AWS
- 트랜잭션격리성
- nginx
- JPA
- Oracle
- 기술면접
- CodeDeploy
- ddl-auto
- OS
- 프로그래머스
- 트랜잭션
- TCP
- 파일업로드설정
- 운영체제
- SpringGraphQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |