Persistence란?
실제 구현체는 Hibernate, EclipseLink 등이 있으며, 대부분은 Hibernate를 사용
자바 객체(Entity)와 DB 테이블을 자동으로 매핑해줍니다.
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "user_name")
private String name;
}
→ User 클래스가 users 테이블과 매핑됩니다.
JPA의 핵심 인터페이스로, 엔티티의 CRUD를 담당합니다.
EntityManager em = emf.createEntityManager();
em.persist(user); // INSERT
User found = em.find(User.class, 1L); // SELECT
em.remove(found); // DELETE