2020. 9. 18. 10:59, Developer
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
GenerationType.IDENTITY를 사용하면
회원 등록할경우 pk가 어떤값이 들어가는지 알수가 없기 떄문에 바로 find를 못한다.
identity경우에만 em.persist(member) 를 하면 쿼리가 db로 들어간다.
(원래 em.persist(member)를 하면 영속상태가 되지 db에 쿼리가 날라가는것은 commit할 경우였다)
이게 특성임.
아래는 코드
Member member = new Member();
member.setUsername("C");
System.out.println(" =============== ");
em.persist(member);
System.out.println("member.getId() = " + member.getId());
System.out.println(" =============== ");
tx.commit(); //이시점에 DB 쿼리가 날라감
'Developer' 카테고리의 다른 글
[JPA] 상속매핑(Inheritance) 전략 - SINGLE_TABLE (0) | 2020.09.19 |
---|---|
[JPA]연관관계의 주인을 어떻게 정할까 (0) | 2020.09.18 |
[JPA]DDL 생성기능 (0) | 2020.09.16 |
[JPA]스키마 자동생성 (0) | 2020.09.16 |
[JPA]Entity (0) | 2020.09.16 |
Comments, Trackbacks