PostApiPostApiController.javaJson에서 데이터를 받아와 (Post방식의 전송에서 @RequestBody를 통해 데이터를 통으로 들고올 수 있다) PostRequestDto에 적용되어진 객체를 통해 값을 저장.즉 PostRequestDto 자료형
Spring Boot Custom Validation@AssertTrue / False를 사용해 method지정을 통해 커스텀 로직을 적용해보자@ConstraintValidator 를 사용해 재사용이 가능한 커스텀 로직을 적용해보자@Size (min = 6, max =
Filter란?웹 어플리케이션에서 관리되는 영역, 클라이언트에서 오는 요청 혹은 응답값의 처음,마지막 단계에서 작동하며 필터를 통해 정보를 변경하거나 정보 변경 전 클라이언트에서 요청 혹은 응답값을 확인할 수 있다.유일하게 ServletRequest와 ServletRe
Jpa Repository 기능들count() : count조회 형식의 쿼리, 데이터 갯수를 파악existById() : Id값으로 조회 하여 해당 값이 있는지 없는지 여부를 확인 (불대수값 리턴) Count를 통해 조회하게 된다delete() : id값으로 해당 En
Service에서 활용하는 복잡한 Where조건을 가지는 쿼리를 학습해보자UserRepository.javaUserRepositoryTest.java (UserRepository상속)\-> 기존 테이블의 "martin"이름을 가진 2개의 컬럼이 존재한다.\-> user
Where 조건을 디테일하게 사용해보자FindByEmailAndNameUserRepositoryTest.java위와같이 2개의 조건을 사용하는 경우 where절에서 2가지의 조건이 검색되게 된다. (and연산)FindByEmailOrNameUserRepositoryTe
findBy...Between기준점 1과 기준점 2 사이에 해당되는 값을 출력해준다.UserRepositoryUserRepositroyTestResult(findByCreatedAtBetween): 어제와 내일날짜 사이에 생성 된 데이터를 조회하는 쿼리문이 만들어진다.
Domain EntityEntity 내에서는 Pk값을 반드시 지정해야 한다 (@Id 로 지정)GenerationType(Streatgy)Table : DB종류에 상관없이 ID값을 관리하는 별도의 테이블을 만들고, 해당 Table에서 Id값을 추출해서 사용한다. \-
User Entity의 경우 User Data가 들어있기 때문에 중요도가 높다.수정된 내역의 History를 만들어 보도록 하겠다.User History라는 Entity를 추가적으로 만들어 보도록 하겠습니다.User HistoryUserEntityListener (cl
User라는 정보가 Relation이 없다면 Book에서 'martin'이라는 정보가 들어가야하고Review에서 'martin이라는 정보가 또 들어가야 한다'martin'이라는 정보가 유일하지 않고 만약 동명이인이 존재한다면 정의하기가 힘들어 진다'martin'이라는
메모리에 존재하는 데이터는 서비스가 종료되면 사라지게 되어있다. 이를 영속화 해서 사용하는 방법에 대해 알아봅시다영속성에서 가장 주체적인 컨테이너 역할을 하는 것이 바로 EntityManager Interfacehibernate 의 ddl-auto의 기능을 통해 데이터
Entity Manager TestEntityManger같은 경우에는 캐시를 가지고 있다.Save()를 실행시키면 DB에 바로 반영이 되지 않고 영속성 개체에 저장이 되고 DB로 넘어가게 된다.Select 쿼리가 3번 돌아가게 된다.이때 @Transcational 로
챌린지 13일차
챌린지 14일차
챌린지 15일차
챌린지 16일차
챌린지 17일차
현재의 Transaction과 또 다른 Method의 Transaction간의 처리가 어떻게 진행되는지에 대해 알아보겠습니다.Transaction 의 전파 (Transaction Propagation)Required : 만약 Transaction을 선언만하고 Propa
Cascade: 작은 폭포 (폭포가 물을 받으면 아래로 흘려 보냄)영속성도 값을 받으면 아래로 흘려준다 라는 의미를 가짐JPA에서 Cascde를 확인 해 보겠습니다.OneToManyOneToOne ManyToManyManyToOne처럼 연관관계가 서로 있는 경우에 설정
BookBookRepositoryTestresult슬로우캠퍼스가 적용되지 않았다!because, 이미 Persist 액션을 취했고, name을 변경하기 때문에 merge에 대한 이벤트 발생update 즉 merge에 대한 event발생, 하지만 cascade에서 per
개빡세.. 너무 하기싫어..BookRepositoryresultBook Entity는 삭제, Publisher Entity는 존재Case1.BookRepositoryCase2. Cascade활용Book Entity - Cascade delete옵션추가dataSql에 데
flag를 사용해 DB에 있는 데이터를 직접 delete쿼리를 통해 삭제하지않고삭제한 것과 동일한 효과를 가지게 처리할 수 있다.DB에 있는 컬럼에 isDeleted 값을 추가해 불대수의 형태로 처리를 하면 되는데,예를 들어같이 2개의 컬럼이 있는 테이블에 isDele
@Column 속성 내에 Column Definition 이라는 속성이 있다.이 속성은 DDL시에 함께 반영된다.물론 현업에는 AutoDDL로 반영하기 때문에 자주 사용하지는 않는다.BaseEntitycolumn에 default값을 지정하게 되면 동일하게 현재 시간을
bookRepository이 두개는 동일한 기능을 합니다.?1, ?2, ?3 처럼 ?뒤에 숫자를 붙히면 몇 번째 들어가있는 파라미터인지 확인을 하고 치환시켜준다.이런식으로 param을 정의하면 value에 해당하는 값이 :파라미터 이름으로 사용을 할 수 있다.파라미터의
BookNamdAndCategory (interface) BookRepository.java @ #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Java/Spring웹개발마스터초격차패키지Online 본 포스팅은 패스트캠퍼스
JPA > PagingAndSortingRepositoryPageable 방식의 pageable를 리턴하게 된다.BookRepositoryTestResult (id=2 출력) :Result (id=1 출력):성능에 대한 문제를 해결하기 위해 NativeQuery를 사용
\-> 이렇게는 작동이 되지 않음 \-> 이렇게는 작동이 가능하다.본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.https://bit.ly/3FVdhDa
BookStatusBook Entitydomain - coverter - BookStatusConverter.java 생성본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.https://bit.ly/3FVdhDa
29일차
드디어 챌린지 마지막 날주문시에 가격 필드가 있다가격은 공급세, 부가세, 총가격 등이 있다고 할 수 있다.즉 임베디드 타입을 사용하기에 적합하다고 할 수 있다.주소 정보 또한 임베디드 타입을 사용하기에 적합하다고 할 수 있다.단순 컬럼으로 주소값 추가해보자UserEnt