티스토리 뷰

메이븐(Maven) 이란?

- 라이브러리를 관리해주는 도구이다. 메이븐은 라이브러리 관리 기능과 빌드 기능을 제공한다. 

  pom.xml에 사용할 라이브러리를 적어주면 라이브러리를 자동으로 내려받아서 관리해준다.

 

라이브러리 관리기능

- 자바 애플리케이션을 개발하려면 jar파일로 된 여러 라이브러리가 필요하다.

  메이븐은 사용할 라이브러리 이름과 버전만 명시하면 라이브러리를 자동으로 내려받고 관리해준다.

 

빌드 기능

- 메이븐은 애플리케이션을 빌드하는 표준화된 방법을 제공한다.

 

객체 매핑

 

@ Entity

- 해당 클래스를 테이블과 매핑한다고 JPA에게 알려준다.

  @Entity가 사용된 클래스를 엔티티클래스라 한다.

 

@Table

- 엔티티 클래스에 매핑할 테이블 정보를 알려준다. 

  이 어노테이션을 생략하면 클래스 이름을 테이블 이름으로 매핑한다. 

 

@Id

- 엔티티 클래스의 필드를 테이블의 기본 키(Primary key)에 매핑한다. 

  @Id가 사용된 필드를 식별자 필드라 한다. 

 

@Columnm

- 필드를 컬럼에 매핑한다. 

 

persistence.xml 설정

- JPA는 persistence.xml을 사용해서 필요한 설정 정보를 관리한다. 

  META-INF/persistence.xml 클래스 패스 경로에 있으면 별도의 설정 없이 JPA가 인식할 수 있다.

 

-영속성 유닛 설정(persistence-unit)

  일반적으로 연결할 데이터베이스당 하나의 영속성 유닛을 등록한다.

  그리고 이 영속성 유닛에는 고유한 이름을 보유해야한다.

 <persistence-unit name="jpabook">

- JPA 표준 속성

  javax.persistence로 시작하는 속성은 JPA 표준 속성이다. 특정 구현체에 종속되지 않는다.

<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> #JDBC드라이버
<property name="javax.persistence.jdbc.user" value="sa"/>#데이터베이스 접속 아이디
<property name="javax.persistence.jdbc.password" value=""/>#데이터베이스 접속 비밀번호
<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/>#데이터베이스 접속 URL

- 하이버네이트 속성

  하이버네이트 전용 속성이므로 하이버네이트에서만 사용 가능

<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" /> # 데이터 방언dialect 설정