[Spring JPA #3] Entity 매핑 및 Value 타입

학습

  1. Entity 생성
  2. DB 저장
  3. Docker의 테이블 확인
  4. 4.

Account

package org.kyhslam.jpa;


import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Account {

    @Id @GeneratedValue
    private long id;

    private String username;

    private String password;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

application.properties

spring.datasource.url=jdbc:postgresql://localhost:5432/springboot
spring.datasource.username=kyhslam
spring.datasource.password=pass

## validate : 운영에서는 validate 가 가장좋은 옵션이다.
## update : 추가 된 컬럼은 자동을 추가해준다.
##          그러나 이미 추가 된 걸럼은 삭제해주지는 않는다.
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

## 실행되는 sql을 보여준다.
spring.jpa.show-sql=true

## 실행되는 query들을 읽기 쉽게 출력해 준다.
spring.jpa.properties.hibernate.format_sql=true

JpaRunner

package org.kyhslam.jpa;

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.Transactional;


@Component
@Transactional
public class JpaRunner implements ApplicationRunner {

    @PersistenceContext
    EntityManager entityManager;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        Account account = new Account();

        account.setUsername("kyhslam");
        account.setPassword("jpa");

        entityManager.persist(account);
    }
}

데이터 삽입 완료

댓글

Designed by JB FACTORY