1. 실험내용
- 궁금증 : Entity 식별자를 수동설정하는 경우 Id가 없으면 어떻게 될까?
- 예제코드
public class Main {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("practice");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
try{
tx.begin();
Member member = new Member();
member.setName("sun");
em.persist(member);
tx.commit();
}catch (Exception e){
e.printStackTrace();
tx.rollback();
}finally {
em.close();
}
emf.close();
}
}
- Member Entity에서는 @GeneratedValue를 사용하지 않아 Id가 자동생성되지 않는다.
2. 결과 : 예외발생
IdentifierGenerationException
발생한다.
- 상세 오류 내용은 아래와 같다.
Caused by: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): org.Entity.Member