🎿엔티티 안에 내부 클래스Member VO 에서 엔티티로 전환과정에서Member VO 안에 내부 클래스로 enum 타입을 두고 사용하는 경우마이그레이션 작업시, 괜히 귀찮게 상위수준으로 enum 을 빼야하는 일이 생겼다.타입을 내부에 두는 경우 보기는 쉽지만,만약 가져다가 사용하는 곳이 많아지는 경우, 귀찮은 상황을 야기시킬 수도 있겠다는 생각을 하였다.만약 내부클래스가 존재하고 MemberVO 와 MemberEntity 를 공존시켜야하는 경우 인텔리제이의 리팩토링 기능을 사용하여내부 클래스를 외부로 추출할 수 있다.그냥 앞으로는 내부에 enum 을 두지 않는게 더 나을거같다는 생각이 들었다. Uploaded by N2T
정의JPA 에서 mappedBy 속성은 양방향 관계에서 소유하지 않는 쪽에서 사용된다.용도단순 연관관계의 주인을 지정하는 용도로 사용함적용되는 어노테이션@OneToMany@OneToOne@ManyToMany일반적으로 Many 쪽이 연관관계의 주인이라는 점을 기억하면 된다.예시Post 게시물 - Comment 댓글하나의 게시물은 여러 댓글을 가질 수 있음댓글은 하나의 게시물에 종속됨.Post → @OneToManyComment → @ManyToOne연관관계의 주인이므로 @JoinColumn 과 Uploaded by N2T
문제상황ddl-auto : create 후 db 에 테이블이 생기는 것을 확인하는 중이였다.하지만..error code 1067 invalid default value for 가 발생하면서 에러가 발생하는 것이 아닌가..해결별도의 docker-compose.yml 을 사용하여 Mysql 이미지를 가져와서 로컬 컨테이너에 띄워서 사용중이였다.하지만 원래 Mysql 도 그런지 모르겠지만, 해당 Mysql 5.7 버전 이미지에서는 sql_mode 에 여럿 제약 조건이 추가되어 있었다.뭐 무결성을 위한 제약이겠지만, 날짜 관련된 부분은 그냥 삭제해주려고하였지만..어떤 제약조건이 있었나ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERRO..
OpenFeign 설명선언적 웹 서비스 클라이언트를 작성하기 위한 Java HTTP 클라이언트 바인더 라이브러리이다.Feign의 주요 목적은 REST API 를 사용하는 서비스 간의 통신을 단순화하고, MSA 구조상 Service Client 를 쉽게 생성할 수 있도록 등장했다.Spring Cloud 와의 연관성스프링 클라우드는 MSA 같은 분산 시스템 패턴을 쉽게 구현할 수 있게 지원하는 프레임워크의 모음중 하나이다.역사는 Netlix OSS 부터 시작하는데.. 이건 너무 길어서 제외함공식문서상 호환Spring Cloud현재 나는 스프링 부트 2.7.16 버전이기에, 2021.0.x aka Jubilee 버전을 사용하면 될 것같다.그래들 추가ext { set('springCloudVersion', "2..
워드 프레스 사이트 구축웹 사이트를 만들기 위한 소프트웨어로서, 서버에 설치하여 사용함.워드프레스 사이트 구축을 위하여 워드프레스 프로그램, 웹서버(아파치), DB(Mysql), PHP 런타임이 필요하다.구성요소워드프레스(본체)아차피PHP 런타임MySQL필요 구성요소워드프레스 컨테이너MySQL 컨테이너 워드 프레스 동작을 위해서는 두 개의 컨테이너가 필요하고, 가상 네트워크를 통해 서로 통신이 가능해야함. 도커 네트워크 생성docker network create 네트워크_이름새로운 도커 네트워크를 생성함추가 옵션이나 인자는 일반적으로 필요하지 않다.도커 네트워크 삭제docker network rm 네트워크_이름지정한 도커 네트워크를 삭제함추가 옵션이나 인자는 일반적으로 필요하지 않다.기타 도커 네트워크 ..
@PreAuthorize("hasRole('ROLE_CUSTOMER')") @PostMapping("/v1/api/orders") public MessageDTO createOrder(@ModelAttribute OrderPageRequestDTO orderPageRequestDTO, @CurrentUser Jwt jwt) { log.info("createOrder orderPageRequestDTO : {}", orderPageRequestDTO); UserDetailsServiceImpl.CustomUserDetails customUserDetails = userDetailsService.loadUserByJwt(jwt); Member member = Member.from(customUserDetai..