팀 사이드 프로젝트를 하던 중 JPA(ORM)을 사용하는 이유에 대해 이야기를 하다가한 분이 persist, 영속화라는 의미에 대해 고민을 하시고, 이야기를 하게 되었다.Persistence 사전적 의미는 지속되다라는 의미가 있다.엔티티 매니저의 persist() 메서
데이터베이스를 초기화 해야하는 이유는 각각의 테스트는 독립된 환경에서 검증이 되어야 하기 때문이다.테스트 코드를 작성하면 각 테스트마다 초기화된 데이터 베이스로 테스트 하기 위해데이터 베이스를 초기화 해주어야 한다.그 때 나는 보통 repository.deleteAll
auto-increment를 사용하기 때문에 데이터베이스에 insert 쿼리가 실행이 되어야 ID값을 알 수 있다.그래서 JPA에서는 persist()시점에 즉시 insert 쿼리를 실행하고 데이터베이스에서 식별자를 조회하게 된다.즉, 쓰기 지연의 이점을 누릴 수 없다