백엔드/JPA5 JPA TEST @DATAJPATEST가 지원해준다. QUERY METHOD를 주로 사용한다. SPRING DATA JPA에서 크게 활용한다. 사실 CRUD는 굳이 TEST를 하지 않아도 되긴 한다 (넣어지기 때문에) 그래도 한번 TEST해보자 TESTENTITYMANAGER -> TEST용 ENTITYMANAGER 사용 가능 AUTOCONFIGURETESTDATABASE - > TEST용 인메모리 DB를 다른환경으로 바꾸고자 할 때 @JDBCTEST -> DATASOURCE만을 TEST @DATAJDBCTEST -> DATASOURCE+ ETC 실제 구현을 repository에서 해주기 때문에, 일단 해당 파트는 구현하진 않고 후에 만약에 내가 추가적으로 datarepository에서 구현을 하였거나 다른 경우가 존재.. 2024. 1. 7. MYSQL 적용 ++ POSTGRESQL 까지 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/study?characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password= spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true 이와 같은 내용들을 설정해주어야 하고, h2.console.enabled = false로 변경해주어야한다. 위의 updat.. 2024. 1. 7. DataSource, Transacation Manager 1 DataSource 물리적인 데이터베이스 정보를 담는 인터페이스 . EmbaddedDataBaseBuilder를 주로 사용함( 구현체) , DataSourceBuilder(jdbc DataSource 사용) 그때 그때 세팅 해주면 된다. 2. Transaction Manager JpaTransactionManager가 기본 spring data jpa 사용 구현체. DataSourceTransactionManager(JDBC DATASOURCE 사용 구현체 ) 2개 이상의 DBMS설정이 필요할때, 1. DB를 세팅 2. ENTITYMANAGERFACTORY를 설정해줘야한다. (LOCALCONTAINERENTITYMANAGERFACTORYBEAN) 얘는, 빈으로 @Bean으로 달아주고 구현체를 retu.. 2024. 1. 7. SPRING DATA JPA 실제 활용 1. @Repository 기본적으로 @Component와 굉장히 유사하나, repository 전용이다. 즉 해당 class를 빈으로 등록한다. 가장 큰 차이는? peristenet layer의 발생 예외를 잡아서 DataAccessException으로 처리해준다. SPRING DATA JPA를 사용한다면, JPAREPOSITORY 안에 기본적으로 어노테이션이 되어있기 때문에 추가해줄 필요가 없다. REPOSITORY -> CRUDREPOSITORY ->LISTCRUD->JPAREPOSITORY 순으로 상속받아오는 내부 구조 . 두가지 방법, 하는 역할이 동일하다. 앞서 말한대로 JPA를 쓸거라면 QUERY를 직접 작성하지 않고, JPAREPOSITORY에 기능을 위임해서 사용하는것을 강하게 추천한다... 2024. 1. 7. SPRING DATA JPA 개념들 프레임 워크는 이미 만들어진 구조와 도구의 집합으로 , 어플리케이션 개발의 속도와 효율을 지원한다. 템플릿은 이미 모든 것이 결정된 모양에 원하는 데이터를 삽입. FRAMEWORK는, 도구나 라이브러리의 모음 라이브러리는 도구 들의 모음. 프레임 워크는 자동차, 라이브러리는 바퀴. ORM? OBJECT RELATIONAL MAPPING 객체 지향 언어를 활용 즉, DB DATA를 자바 객체와 매핑한다. RDBMS를 객체 지향 DB로 가상화한다. (DB를 추상화한다) 즉, INSERT와 SELECT 등의 코드만을 작성하고, 그 외의 접근 포인터 등의 문제는 프로그램에게 위임한다. 효과 -> INETRFACE에 의존하여 위임하여 작성하니, 특정 DB(MY SQL 등등)을 고려하는 것을 줄인다. JPA JAV.. 2024. 1. 7. 이전 1 다음