Java/Jakarta EE5 Jakarta EE의 구현체들을 알아보자 구현체들은 documentation에 설명과 사용설명서가 잘 정리되어 있어, 읽어보면 좋다.명세가 아닌 사용설명서로써, 어떤 기능을 구현해야 하느냐보단, 이게 무엇이고 어떻게 사용하는 것인지에 대한 설명이 주가 되어서 읽기 좋다. 하이버네이트 https://hibernate.org/JPA 구현체인 Hibernate ORM으로 가장 유명한 구현체이다.JPA 말고도 Validator와 같은 타 명세도 구현하고 있다.Wildfly에서 해당 구현체를 사용하고 있으며, 레드햇 산하 JBoss가 해당 프로젝트를 관리하고 있다.2024년 9월 Jakarta EE 11에서 제시된 명세인 Jakarta Data도 구현해뒀다. (Hibenate Data Repositories)`@Entity`, `@Column` 외 기타.. 2025. 7. 1. JPA의 MappedSuperclass와 Embeddable의 차이 및 사용법 tl;drMappedSuperclass는 부모 클래스에, Embeddable은 내부에 포함하는 클래스에 사용하면 된다.둘 다 하나의 테이블로 합쳐진다.MappedSuperclass상속할 부모 클래스에 주로 사용한다.아래 접은글에 자바 코드, 그리고 일대일 대응하는 SQL 코드를 작성해두었다.더보기@MappedSuperclasspublic static class Account { @Id private Long id; private String owner; private BigDecimal balance; private BigDecimal interestRate; //Getters and setters are omitted for brevity}@Entity(name = "DebitAccount")publi.. 2025. 5. 27. Jakarta Servlet을 알아보자 다음 내용은 Jakarta EE에서 제공하는 공식 튜토리얼 문서, 그리고 Jakarta Servlet 6.1 문서를 바탕으로 작성되었음을 알립니다. 서블릿은 HTTP 응답을 자바 객체로 받고 반환하는 프레임워크이다. 서블릿은 `jakarta.servlet`에 있는 `Servlet` 인터페이스를 반드시 상속하여야 한다. `GenericServlet`은 `Servlet`의 기본 구현체이며, `HttpServlet`이 이를 상속하고 있다. 서블릿 컨테이너는 웹 서버 또는 웹 앱 서버의 일부로, 서블릿을 관리하고, 요청과 응답을 가공하여 서블릿으로 넘겨주고 받는 역할을 한다. Jakarta Servlet에는 Filter가 존재하며, ServletRequest 등이 서블릿을 향하기 전 Filter를 먼저 거치게 .. 2025. 5. 12. Jakarta EE를 알아보자 Jakarta EE는 자바 엔터프라이즈 에디션으로, 서버 개발 플랫폼이다. 2017년 자바 8 발표 이후 오라클 사에서 Java EE 개발을 이클립스 재단으로 이관했으며, 이클립스 사에서 Java EE를 Jakarta EE로 개명하고 이어서 명세를 개발하고 있다. Jakarta EE는 다양한 명세를 가지고 있다. Servlet, JSP, JPA 외 기타 등등 기능 각각의 명세가 존재하며, 이 기능들을 모아 플랫폼, 그리고 프로파일이라는 이름의 명세 모음을 제시하고 있다. 기능 명세 대부분을 모은 것을 Platform이라고 부르며, 웹의 주요 기능을 모은 것을 Web Profile, 핵심적인 웹 기능만을 모아둔 것을 Core Profile이라고 부른다. Jakarta EE는 단순히 명세이며, 이를 구현한 .. 2025. 5. 10. Jakarta Persistence를 알아보자 Jakarta Persistence는 Jakarta EE에서 내는 공식 자바 EE 명세서 중 하나다. 그 중 ORM과 관련한 명세를 가리킨다. 명세에 대한 내용은 다음 문서에서 확인할 수 있다. 스프링을 사용하고 있다면 한 번쯤은 접해봤을 Spring Data JPA에서 사용하는 `@Entity`, `@Id` 따위가 해당 명세서를 기반으로 구현된 내용이다. 구현체는 Hibernate 사에서 구현했으며, 스프링 생태계에서 해당 구현체를 활용하여 내부를 구성하고 있다. 본디 Jakarta Persistence에서 엔티티를 관리하기 위해선 `EntityManager`라는 인터페이스를 통해 엔티티를 관리하나, Spring Data 측에서는 `CrudRepository` 등의 인터페이스로 리포지토리를 추상화해두고.. 2025. 5. 9. 이전 1 다음