본문 바로가기

분류 전체보기108

3장 영속성 관리 3장 영속성 관리 JPA가 제공하는 기능은 크게 엔티티와 테이블을 매핑하는 설계 부분 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 잇다. 매핑한 엔티티를 엔티티 매니저(Entity Manager)을 통해 어떻게 사용하는지 알아보자 엔티티 매니저는 엔티티를 저장하고, 수정하고, 삭제하고, 조회하는 등 엔티티와 관련된 모든 일을 처리한다. 엔티티 매니저는 엔티티를 관리하는 관리자다. 엔티티 매니저는 엔티티를 저장하는 가상의 데이터베이스로 생각하면 된다. 참고로 내용중에 구현과 관련된 부분들은 하이버네이트를 기준으로 이야기한다. 3.1 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저 팩토리 데이터 베이스를 하나만 사용하는 애플리 케이션은 이반적으로 EntityManager Factory를 하나만 생성한.. 2024. 1. 23.
2장 JPA 시작 2장 JPA 시작 *.gradle 파일 plugins { id 'java' } group = 'org.example' version = '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation platform('org.junit:junit-bom:5.9.1') testImplementation 'org.junit.jupiter:junit-jupiter' // JPA, 하이버네이트 // hibernate-core.jar, hibernate-jpa-2.1-api.jar 라이브러리도 함께 내려받는다. implementation 'org.hibernate:hibernate-entitymanager:4.3.10.Final' /.. 2024. 1. 20.
1장 JPA 소개 1장 JPA 소개 0. JPA 장점 조회된 결과를 객체로 매핑하는 작업도 대부분 자도응로 처리. 네이티브 SQL 기능을 사용해서 직업 SQL을 작성 객체 중심으로 개발하니 생산성 유지보수가 좋고 테스트를 작성하기도 편리하다. 데이터베이스 간의 호환이 편리 하다.ㄷ 1.1 SQL의 단점 진정한 의미의 계층 분할이 어렵다 물리적으로 SQL과 JDBC API를 데이터 접근 계층에 숨기는 데 성공했을지라고 논리적으로는 엔티티와 아주 강한 의존관계를 가진다. 엔티티를 신뢰할 수 없다. DAO을 열어서 SQL 확인 SQL에 의존적인 개발을 피하기 어렵다 많은 SQL 수정 반복 public class Member { private String name; private String tel; // add } // sql.. 2024. 1. 20.
1장 ioc 정리 빈 팩토리 등록 방법 오브젝트를 생성하고 초기화해준다 => @bean @configuration으로 등록한 /** * 팩토리 클래스 UserDao을 생성 책임을 맡았다. */ @Configuration // p 96 빈 팩토리를 위한 오브젝트 설정을 담당하는 클래스라고 인식. public class DaoFactory { @Bean public DataSource dataSource() { SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); dataSource.setDriverClass(com.mysql.jdbc.Driver.class); dataSource.setUrl(DbConstant.JDBC_URL.getStr()); dataSou.. 2023. 12. 20.