BaseEntity란? Spring Boot 내에서 코드를 작성하다 보면 정보가 중복되는 경우가 종종 발생합니다. 이러한 경우를 손쉽게 해결해 주는 방법이 바로 BaseEntity입니다. 아래 코드를 보면 Student와 Professor 클래스 내 정보를 살펴보면, createdBy와 createdDate에서 공통 정보가 발생합니다. 물론 하나하나씩 별도로 작성해 주어도 문제는 없지만, 중복된 것처럼 보일 수 있기에 이를 한 곳에 공통으로 매핑해 주는 것이 좋습니다. @Entity public class Student { @Id @GeneratedValue private Long id; private String name; // 공통 컬럼 private String createdBy; private L..
문제점 Spring을 실행하던 도중 [JPA] No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer와 같은 에러문이 발생했다. 이러한 에러문이 발생하는 이유는 @ManyToOne의 Fetch 타입을 Lazy로 사용했을 때 나타나는 문제점이라고 한다. 여기서 비어있는 객체를 Serialize 하려다 에러가 발생하는 것이다. 해결방안 위와 같은 에러를 해결하는 방법 중 하나가 바로 @JsonIgnore 어노테이션이다. 직렬화 시 해당 필드를 포함시키고 싶지 않을 때 선언하는 어노테이션이다. 해당 어노테이션을 사용하..
🔎 영속성 컨텍스트란? 엔티티를 영구 저장하는 환경을 뜻한다. 엔티티 매니저(Entity Manager)를 통해서 접근 가능하다. 🔹 활용 예시 em.persist(member); -> persist() 메소드를 통해 em(Entity Manager)을 사용해서 회원 엔티티를 영속성 컨텍스트에 저장함. 엔티티의 생명주기 엔티티의 생명주기에는 총 4가지 상태가 있다. 1. 비영속(new/transient) 영속성 컨텍스트와 전혀 관련이 없는 상태, 순수한 객체 상태 🔹 예시 Member meber = new Member(); member.setId("member1"); member.setUsername("회원1"); 2. 영속(managed) 영속성 컨텍스트에 저장된 상태 영속성 컨텍스트에 의해 관리되는..