Hibernate
-
[JPA] 왜 JPA의 Entity는 기본 생성자를 가져야 하는가?Programming/JPA 2021. 4. 1. 13:26
왜 JPA의 Entity는 기본 생성자를 가져야 하는가? 정확히 이야기하면 Entity는 반드시 파라미터가 없는 생성자가 있어야 하고, 이것은 public 또는 protected 이어야 한다. 이러한 궁금증을 가지게 된 이유는 setter의 제한을 위해 정적 팩토리 메소드의 도입에서 시작되었다. setter의 제한 Entity의 모든 필드에 public setter 메소드를 생성하는 것은 객체의 값의 변경을 열어두기 때문에 일관성을 보장할 수 없다. 또한 단순히 setter 이기 때문에 그 의도를 쉽게 파악할 수 없다. setter 메소드를 제공하는 것 보단 확실한 비즈니스가 드러나는 메소드를 제공하는 것이 더욱 바람직하다. 간단한 예시를 위하여 학생을 나타내는 Student와 학생의 소속을 나타내는 D..
-
EJB (Enterprise Java Beans)Programming/Java 2020. 12. 23. 02:10
EJB (Enterprise Java Beans) 란? Enterprise Java Beans는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. EJB는 애플리케이션 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB는 비즈니스 객체들을 관리하는 컨테이너 기술, 설정에 의한 트랜잭션 기술 등이 담겨 있었다. 2000년대 초반에는 EJB라는 개념이 획기적이었고, Java 진영에서 표준으로 인정한 기술이기 때문에 많이 사용되었다. EJB의 한계 EJB의 다양한 기술들을 사용하기 위해서는 EJB 스펙을 사용해야 했고, 그로 인하여 서비스가 구현해야 하는 비즈니스 로직보다 EJB 컨테이너 설정을 위해 더 많은 시간을 투자해야 했다. 개발자들은 오히려 평범한 자바 클래스 (POJO, Plain O..