Spring/JPA

데이터베이스 스키마 자동생성 - create-drop

느리지만 꾸준하게 2022. 4. 4. 17:24

아래 create-drop가 제대로 작동안함(h2 db보면 member table이 그대로 있음)

// persistence.xml

<property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.use_sql_comments" value="true"/>
            <property name="hibernate.jdbc.batch_size" value="10"/>
            <property name="hibernate.hbm2ddl.auto" value="create-drop" />

 

해결

JPAMain.java

package hellojpa;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import java.util.List;

public class JpaMain {

    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");

        EntityManager em = emf.createEntityManager();

        EntityTransaction tx = em.getTransaction();
        tx.begin();

        // code
        try {

            // 영속
            Member member = em.find(Member.class, 150L);
            member.setName("AAAAAAA");

            em.clear();

            Member member2 = em.find(Member.class, 150L);

            System.out.println("================");
            tx.commit();
        } catch (Exception e) {
            tx.rollback();
            // 이 부분에서 tx.commit -> em.close()로 변경
        } finally {
            em.close();
        }

        emf.close();
    }
}

 

 

 

<출처 김영한: 자바 ORM 표준 JPA 프로그래밍 - 기본편 >

https://www.inflearn.com/course/ORM-JPA-Basic/dashboard

 

자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의

JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com