(1) @Entity, @Table @Entity JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙여야 한다. @Entity 가 붙은 클래스는 JPA가 관리한다. 속성 1. name JPA에서 사용할 엔티티 이름 지정. 보통 기본값인 클래스 이름을 사용한다. 만약 다른 패지키에 이름이 같은 엔티티 클래스가 있다면 이름을 지정해서 충돌하지 않도록 해야 한다. @Entity 적용 시 주의 사항 기본 생성자는 필수이다.(파라미터가 없는 public 또는 protected 생성자) final 클래스, enum, interface, inner 클래스에는 사용할 수 없다. 저장할 필드에 final을 사용하면 안된다. public Member() {} // 기본 생성자 public Me..
(1) 엔티티 매니저 팩토리와 엔티티 매니저 데이터베이스를 하나만 사용하는 어플리케이션은 일반적으로 EntityManagerFactory를 하나만 생성한다. EntityManagerFactory 를 얻기 // 비용이 아주 많이 든다. //엔티티 매니저 팩토리 생성 EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); 만드는 비용이 많이 든다 한 개만 만들어서 애플리케이션 전체에서 공유하도록 설계되어있다. 여러 스레드가 동시에 접근해도 안전, 서로 다른 스레드 간 공유 가능 하이버네이트를 포함한 JPA 구현체들은 EntityManagerFactory 생성 시 커넥션 풀도 만든다. EntityManager 생성 // 엔티티..
(1) H2 데이터베이스 설치 H2 데이터베이스 설치 방법 http://www.h2database.com 접속 All Platforms 또는 Platform-Independent Zip 내려받고 압축 풀기 압축 푼 곳에서 bin/h2.sh 실행 H2 데이터베이스를 서버 모드로 실행 H2 데이터베이스를 서버 모드로 실행한 후에 http://localhost:8082 접속 이때, 포트번호 8082가 이미 사용 중일 경우 해당 포트번호의 프로세스를 종료 후 시도해야 에러가 발생하지 않는다. jdbc:h2:tcp://~/DB이름 으로 생성 jdbc:h2:tcp://localhost/~/DB이름 으로 접속 입력항목 정보 드라이버 클래스 org.h2.Driver JDBC URL dbc:h2:tcp://localho..
(1) SQL을 직접 다룰 때 발생하는 문제점 관계형 데이터베이스는 가장 대중적이고 신뢰할 만한 안전한 데이터 저장소이다. 데이터베이스에 데이터를 관리하려면 SQL을 사용해야 한다. 자바로 작성한 애플리케이션은 JDBC API를 사용해서 SQL을 데이터베이스 전달한다. 엔티티 : 비즈니스 요구사항을 모델링한 객체를 의미한다. 불필요한 반복 개발자는 데이터 접근 계층 (DAO)를 통해 SQL과 JDBC API를 사용해서 직접 변환 작업을 해주어야한다. 객체를 데이터베이스에 CRUD 하려면 매우 많은 SQL 과 JDBC API를 코드로 작성해야 하는 문제가 발생한다. 비슷한 작업을 계속해서 반복하는 것은 불필요한 작업이다. public class MemberDAO { // 회원 조회용 SQL public M..