💻
Albert's Til
GitHub
  • 매일매일 조금씩 성장하기
    • README
    • CS
      • Network
      • HTTP
        • NO-CACHE
      • 오류 코드
      • ORM 도구
      • Design Pattern
        • CQRS Pattern
          • Event Sourcing and CQRS pattern
        • Builder Pattern
    • DB
      • MySQL
        • Timeline
        • Pagination
        • Index
        • Database Performance Optimization Strategies
        • B+ tree
        • MySQL Connectors VS MySQL Shell(Scripting) VS MySQL Workbench
        • MySQL Storage Engine Architecture
      • Normalization & Denormalization
      • JPA
        • @Transactional
        • Why JPA?
        • About JPA
        • N+1 Issue
        • Index
        • ElementCollection&CollectionTable
        • orphanRemoval
        • CascadeType
        • Use Subselect
        • Dynamic Instance Creation
        • Paging
        • Order
        • Spefication
        • mappedBy
      • MongoDB
        • ObjectId
      • Why MySQL?
      • ACID properties of transactions
      • Between JPA and JDBC
      • Identifiers in Hibernate/JPA
    • Java
      • Jackson de/serialize
      • Collections.singletonList() vs List.of()
      • Manage dependencies in Gradle
      • Logging Level
      • Bean Validation
      • JVM Internals
        • Threads
          • Frame
        • Shared Between Threads
          • Classloader
            • Class Loader Hierarchy
            • Loading Linking Initialization
      • Java Collection Framework
      • Annotation
      • Generic
      • 디미터 법칙
    • Spring
      • Caching
      • Spring Integration Overview
        • ThreadPollTaskExecutor
        • Messaging Bridge
        • Channel Adapter
        • Poller
        • Configuration and @EnableIntegration
        • Message Endpoints
        • Message Channels
      • HATEOAS
      • @Autowired vs Constructor Dependency Injection
      • Spring Security
        • JWT 토큰 사용한 인가
        • OAuth 2 Login
        • OAuth 2 인증
        • 인가
        • 인증
        • PasswordEncoder
      • IoC Container
      • Filter,Interceptor,AOP,Argument Resolver
      • Spring Annotation
      • About Spring
    • Kafka
      • Error Channel
    • Infra
      • Scale Up || Scale Out
      • Docker
        • Dockerfile
        • Docker Hub Deploy
        • Command
      • Cloud 유형
        • Infrastructure as a Service
        • Platform as a Service
        • Software as a Service
      • 무중단 배포
        • 엔진엑스(Nginx)
      • 코드 자동 배포
        • Technical
      • AWS EC2
        • PEM(Privacy Enhanced Mail) 키
      • AWS RDS
      • AWS S3
    • CodeSquad
      • Spring Boot Project 1주차 회고
      • Spring Boot Project 2주차 회고
      • Spirng Boot Project 3주차 회고
      • Spring Boot Project 4주차 회고
    • Foody Moody 프로젝트
      • Query Performance Comparison
      • HeartCount Asynchronous Issue
      • DeferredResult
      • ResponseBodyEmitter
      • SseEmitter (Spring)
      • Server-Sent Events (SSE)
      • 기술 스택 적용 이유
      • NO-CACHE(HTTP)
      • Transactional
    • DDD
      • AggregateId
    • Test
      • RestAssured
    • Coding and Algorithmic Problems
      • 819. Most Common Word
      • 344. Reverse String
      • 125. Valid Palindrome
      • 937. Reorder Data in Log Files
    • Node
      • Async... Await...
      • Custom Transactional Decorator Challenger
    • Python
      • Python Basic Grammar
        • Comments and Input/Output
        • Variable
        • Data type
        • Operations and syntax
        • List,Tuple,Dictionary,Set
        • Function
        • Conditional statement
        • Loop
    • HTML
      • HTML Basic
      • HTML Basic Tags
      • HTML Form Tags
      • HTML Table Tags
    • CSS
      • CSS Basic
      • CSS Practice
Powered by GitBook
On this page
  • 1. 왜 JPA를 사용하는 가?
  • 2. 디미터 법칙
  • 3. Bean Validation
  • 4. AOP
  • 5. @Autowired vs Constructor Dependency Injection
  • 6. 오류 코드
  • 7. JPA 테이블명 네이밍 전략
  • 8.Entity 에서 @NotNull 필드를 삭제
  • 9. 트랜잭션의 ACID 속성
  • 10. spring.jpa.open-in-view?
  • 11. assertSoftly

Was this helpful?

  1. 매일매일 조금씩 성장하기
  2. CodeSquad

Spirng Boot Project 3주차 회고

Last updated 2 years ago

Was this helpful?

이번 주 키워드는 대부분이 내용이 많고 어려워서 구현을 위해 참고한 링크만 정리했습니다. 시간이 될 때 하나씩 정리하려고 합니다.

1. 왜 JPA를 사용하는 가?

2. 디미터 법칙

  • 디미터 법칙이란?

  • 문제 코드

(!joinForm.getPassword().equals(joinForm.getReconfirmPassword()))
  • 개선후

(!joinForm.isSamePassword())

3. Bean Validation

4. AOP

5. @Autowired vs Constructor Dependency Injection

6. 오류 코드

7. JPA 테이블명 네이밍 전략

8.Entity 에서 @NotNull 필드를 삭제

DataIntegrityViolationException 발생

2023-04-18 06:08:39.320  WARN 67167 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 23503, SQLState: 23503
2023-04-18 06:08:39.320 ERROR 67167 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper   : Referential integrity constraint violation: "FKE5HJEWHND6TRRDGT8I6UAPKHY: PUBLIC.POST FOREIGN KEY(ACCOUNT_ID) REFERENCES PUBLIC.ACCOUNT(ACCOUNT_ID) (CAST(2 AS BIGINT))"; SQL statement:
delete from account where account_id=? [23503-214]
2023-04-18 06:08:39.321  INFO 67167 --- [nio-8080-exec-2] o.h.e.j.b.internal.AbstractBatchImpl     : HHH000010: On release of batch it still contained JDBC statements
2023-04-18 06:08:39.324  WARN 67167 --- [nio-8080-exec-2] k.c.cafe.global.GlobalExceptionHandler   : request:url /user/delete
2023-04-18 06:08:39.324  WARN 67167 --- [nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint ["FKE5HJEWHND6TRRDGT8I6UAPKHY: PUBLIC.POST FOREIGN KEY(ACCOUNT_ID) REFERENCES PUBLIC.ACCOUNT(ACCOUNT_ID) (CAST(2 AS BIGINT))"; SQL statement:<EOL>delete from account where account_id=? [23503-214]]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement]

9. 트랜잭션의 ACID 속성

10. spring.jpa.open-in-view?

11. assertSoftly

@Autowired vs Constructor Dependency Injection
오류 코드
ACID properties of transactions
Why JPA?
Between JPA and JDBC
디미터 법칙
A Guide to Spring's Open Session In ViewBaeldung
AOP 정리 (3)기억보단 기록을
Hibernate Validator 8.0.0.Final - Jakarta Bean Validation Reference Implementation: Reference Guide
Validation with Spring Boot - the Complete GuideTomHombergs
Validation 어디까지 해봤니? : NHN Cloud MeetupNHN Cloud Meetup
Javax annotation constrainst @ReportAsSingleViolationStack Overflow
Bean Validation Anti-PatternsTomHombergs
Logo
Logo
Logo
Logo
Logo
Comparing Spring AOP and AspectJ | BaeldungBaeldung
assertj-examples/SoftAssertionsExamples.java at main · assertj/assertj-examplesGitHub
Introduction to Advice Types in Spring | BaeldungBaeldung
Logo
Custom Naming Convention with Spring Data JPA | BaeldungBaeldung
Logo
Logo
Logo
Logo
Logo