KDT/TIL

221101 (화) JPA

imname1am 2023. 1. 22. 23:43
반응형

목차

    어제에 이어서~~~

    (+1102 복습)

    FK 연결  - 다대일관계 (ManyToOne)

    Embedaable - Embed 당해

     

    ▸ enum : 항목별 상태 잡는 용도로 사용

    ▸ Enum 편입시킬 때 @Enumerated(EnumType.STRING)

    ▸@GeneratedValue : sequence 잡음

    ORM

     


    회원 등록

    ✔ MemberRepository.java

    ✔ MemberService.java

    // 생성자 Injection 많이 사용, 생성자가 하나면 생략 가능

     

    ✔ Membercontroller.java

    ✔ MemberForm.java 

    -> DTO처럼 사용 중.

    -> @NotEmpty : validation 위함

     

    ✔ createMemberForm.html

    @RequiredArgsConstructor 쓰면 아래에 이거 안 해도 됨. (final로 되어있는 애들 긁어옴)

    @Slf4j : log 생성

    @RequiredArgsConstructor : 생성자 Injection (DI) 다 긁어서 생성자로 만들어줌. 그래서 생성자 따로 만들 필요 X.

     

    이름이 비어있는 상태로 제출되면
    Address()  생성자 void 없애야 함

    오류 내용

    org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.example.oBootJpa03.domain.Member

    해결 -> Member.java PK가서 @GenerateValue 설정해주기

    ✔ Member.java


    회원 조회

    ✔ memberList.html

     

     MemberService.java

     MemberRepository.java


    <상품 기능>

    controller를 사람별로 만들면 깃허브 안 만들어도 될 정도로 편하다...?

    컨트롤러 서비스

    화면 -> form

     

    상품 등록

     

     

     

     Item.java

    - dtype 제품에 대한 유형.

    구분자

    -> 원 테이블 전략

    Book이 Item을 상속받음.

     

    @GeneratedValue 쓰는 이유 : 시퀀셜 쓰기 위해

     

    상품 목록

    반응형