[JPA]@CreatedDate에 날짜가 안 담길때 오류
@CreatedDate를 사용하여 save()메서드로 데이터를 insert하는데 날짜가 null로 나왔다.
이런 오류는 대부분 auditing이 제대로 적용되지 않았을때 발생한다.
@CreatedDate를 사용하여 save()메서드로 데이터를 insert하는데 날짜가 null로 나왔다.
이런 오류는 대부분 auditing이 제대로 적용되지 않았을때 발생한다.
JPA에서 복합키에서 식별관계를 매핑 즉, 복합키를 설정한 뒤 복합키 중 하나는 FK조건을 걸어보자.
MariaDB와 JPA로 복합키이면서 그 중 하나는 FK인 테이블을 만들고 싶었는데 계속해서 FK 에러가 발생했다.
MVC패턴 스프링프로젝트에서 Controller에서 Service를 의존성 주입할때 대부분 @Autowired로 필드주입을 한다.
하지만 JPA를 사용하는 경우 @Autowired 필드 주입보다는 생성자 주입 사용을 권장한다.
그 이유가 무엇인지 알아보자.
JPA 테스트코드를 공부하면서 패턴에 대해 궁금해졌다.
DTO를 Entity(참고: Entity와 DTO차이)로 변경할 때 주로 3가지 생성 패턴이 쓰인다.
JPA프로젝트를 구글링하다보면 Entity와 DTO를 필드가 거의 똑같은데 나눠서 작성한다.
왜 그렇게 해야할까?
Entity 클래스를 데이터베이스와 맞닿은 핵심 클래스로 Request/Response 클래스로 사용하면 안되기 때문이다.
JPA(Java Persistnece API)란
JPA를 왜 사용할까? SQL 중심적인 개발에서 객체중심으로 개발이 가능하고 CRUD와 같은 간단한 메서드 생산성이 올라간다.
JPA VS JDBC 포스팅에 DB CONNECT 프로그램에 대해 자세히 정리해놓았다.
자바프로젝트를 사용하면서 없어선 안될 라이브러리가 바로 롬복이다.
스프링부트프로젝트로 생성시 롬복 라이브러리를 바로 추가할 수 있다.
또는 사이트에서 jar를 다운로드받아 외부라이브러리로 import하여 사용할 수 있다.
스프링부트 프로젝트를 설정하다보면 application.properties 또는 application.yml 혹은 둘 다 만날때가 있다.
이 둘은 외부 속성을 설정하는 파일이다. 그럼 둘의 차이점은 무엇일까?
Swagger는 다양한 라이브러리가 있다. 그 중 Swagger2와 Swagger-ui 조합이 현재 가장 많이 사용된다.
오늘 포스팅에서는 스프링부트환경에서 Swagger2 라이브러리보다 쉽게 사용할 수 있는 Springfox Boot Starter를 소개하려고한다.