Backend/Spring 10

Spring Data JPA 기본

ORM(Obect Relational Mapping) 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것 Ex) JPA, Hibernate 장점 객체 지향적인 코드로 비즈니스 로직에 더 집중 재사용 및 유지보수 DBMS에 대한 종속성이 줄어든다. 단점 ORM으로만 서비스를 구현하기 어렵다. JPA, Hibernate, Spring data JPA 차이 JPA: 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스, 구현이 없다. Hibernate: JPA라는 명세의 구현체 Spring Data JPA: JPA를 쓰기 편하도록 만들어 놓은 모듈, JPA를 한 단계 추상화시킨 Repository라는 인터페이스를 제공함으로써 이루어진다. References https://suh..

Backend/Spring 2021.07.18

Error : No default constructor for entity

SpringBoot에서 JPA를 이용해 MySQL의 정보를 받아오는 작업을 하는 중이었습니다. org.hibernate.InstantiationException: No default constructor for entity MySQL에서 받아올 정보가 없는 경우 아무런 문제가 없었지만 받아올 정보가 있는 경우 위의 에러가 발생하였습니다. 해결방법 제가 해결한 방법은 Entity에 기본 생성자를 만들어주었습니다. 예를 들어, MySQL에서 Book 객체를 받아온다고 가정했을 때 해당 클래스의 기본 생성자를 만들어 주었습니다. @NoArgsConstructor Entity에 위 어노테이션을 붙여도 해결된다는 글을 봤지만 저는 이 방법으로는 해결되지 않았습니다. 추가적인 공부가 필요해 보입니다. Referen..

Backend/Spring 2021.07.11