[JPA] JPA 프로그래밍 1. 프로젝트 세팅
JPA 프로그래밍 1. 프로젝트 세팅
스프링 부트
- 스프링 부트 2.*
- 스프링 프레임워크 5.*
스프링 부트 스타터 JPA
- JPA 프로그래밍에 필요한 의존성 추가
- JPA 2.*
- Hibernate 5.*
- 자동 설정 : HibernateJpaAutoConfiguration
- 컨테이너가 관리하는 EntityManager(프록시) 빈 설정
- PlatformTransactionManager 빈 설정
JDBC 설정
application.properties에 설정
- spring.datasource.url=jdbc:postgresql://localhost:5432/springdata
- spring.datasource.username=juho
- spring.datasource.password=pass
@Entity를 붙이면 테이블과 맵핑
- spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
예제
JpaRunner.java
@Component
@Transactional
public class JpaRunner implements ApplicationRunner {
@PersistenceContext
EntityManager entityManager;
@Override
public void run(ApplicationArguments args) throws Exception {
Account account = new Account();
account.setUsername("juho");
account.setPassword("jpa");
Session session = entityManager.unwrap(Session.class);
session.save(account);
}
}
@Entity
public class Account {
@Id @GeneratedValue
private Long id;
private String username;
private String password;
public Long getId() {
return id;
}
...