이전 글에서 이어지는 내용으로 commitOrRollback의 세부 구현을 살펴보자 EventListener 구현체는 JpaEventListener를 구현하고 여기서는 공통 Transaction 작업만 처리해주면 된다 import java.util.function.Consumer; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.engine.spi.SharedSessionContractImplementor; public interface JpaEventListener { default void commitOrRollback( SharedSessionContractImplementor session, C..
도메인 주도 개발 혹은 MSA로 갈 때 연관 관계를 다루기 위해서는 객체 자체가 아닌 식별자를 저장하곤 한다 예시만 살짝 맛보기로 하기 위해 극단적으로 간단한 엔티티를 만들었다, Panda -> Bear에 대한 간접 참조를 갖는다 @Entity @NoArgsConstructor @Getter public class Panda { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name; private Long bearId; @Builder public Panda(String name, Long bearId) { this.name = name; this.bearId = bearId; } } @Entity ..