250x250
반응형
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

재 현

JPA 본문

Java/Spring

JPA

본명은이점례 2021. 7. 3. 19:03
728x90

JPA는 기존 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행한다.

SQL과 데이터 중심의 설계에서 객체 중심의 설계로 이동한다.

개발 생산성을 크게 높일 수 있다.

 

 

 

dependency추가

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

 

properties 추가

spring.jpa.show-sql=true
spring.jpa.hiberante.ddl-auto=none // 자동으로 테이블을 만들어주는 기능(none 대신 create) // 이미 DB에 만들었기 때문에 끄고 시작

 

JPA라는 것은 인터페이스다. 표준 인터페이스. ORM ( Object Relation Mapping)hibernate - 구현체

 

@Entity (JPA가 관리하겠다)@Generated(strategy = GenerationType.IDENTITY) // 자동으로 id 생성@Column(name="") // 칼럼과 칼럼네임 지정

 

return em.createQuery("select m from Member m", Member.class).getResultList();

객체 자체를 셀렉트하는 것

Member.class : 멤버 클래스에서 찾겠다

 

자동으로 sql 구문 생성

Failed to load ApplicationContext 에러시 ->h2 먼저 실행시켜야 한다

 

 

스프링은 해당 클래스의 메서드를 실행할 때 트랜잭션을 시작하고, 메소드가 정상 종료되면 트랜잭션을 커밋한다. 만약 런타임 예외가 발생하면 롤백한다.

JPA를 통한 모든 데이터 변경은 트랜잭션 안에서 실행해야 한다

 

728x90

'Java > Spring' 카테고리의 다른 글

AOP  (0) 2021.07.03
스프링 데이터 JPA  (0) 2021.07.03
잡담  (0) 2021.07.03
스프링 통합 테스트  (0) 2021.07.03
h2 데이터베이스 연결  (0) 2021.07.03