본문 바로가기

JPA2

[JPA] 영속성 컨텍스트 JPA는 영속성 컨텍스트는 엔티티(Entity)를 관리한다. 이런 엔티티가 뭐냐면 데이터베이스와 1대 1로 매칭되는 일종의 개념이라고 생각해볼 수 있다. 이러한 개념은 객체 지향 프로그래밍의 객체에 매핑이 되게 된다. 이러한 엔티티를 관리하는 것이 영속성 컨텍스트인데 엔티티는 이러한 영속성 컨텍스트에 의해 여러 상태를 가질 수 있다. New : 엔티티가 새롭게 생성된 상태이다. 이 상태는 영속성 컨텍스트가 이 엔티티를 인지하고 있지 않으므로, 실제 데이터베이스에 반영되지 않는다. 이러한 엔티티를 영속성 컨텍스트에게 관리 받게 하려면 persist() 함수를 통해 엔티티를 관리하도록 만들어야 한다. Managed : 영속성 컨텍스트에 의해 관리되고 있는 엔티티의 상태를 말한다. 이는 곧 엔티티의 정보가 바.. 2021. 4. 19.
[JPA] JPA에 관해서 jpa란 무엇일까? 위키피디아의 의하면 jpa는 "Java Persistence API" 라고 한다. 뜻으로만 보면 잘 모르겠는데 "persistence"에 의미를 잘 알아야할 것 같다. persistence는 "고집", 또는 "없어지지 않고 오래 지속됨" 이라고 한다. 결국 자바의 어떠한 것을 영원히 유지하게 해준다는 뜻인데, 이는 데이터베이스와의 관계를 생각해보면 좋다. 데이터베이스의 자료들은 변경이 있지 않는 한 영원히 간다고 볼 수 있다. 즉, 데이터베이스와 연관이 있는 API이며, 그 뜻 그대로 데이터베이스 자료를 다루는 API라고 볼 수 있다. 이런 JPA 자체는 인터페이스들의 집합으로서, 따로 구현되어 있지 않다. 이런 인터페이스를 통해 구현한 구현체들이 있는데 대표적으로 hibernate,.. 2021. 4. 15.