Java&Spring/Spring
Spring & JPA persist 자동 생성 id 받기
sung.hyun.1204
2022. 8. 26. 21:11
스프링 persist 이해 하기 .
@RequiredArgsConstructor
public class PlaceRepository {
@Autowired
private final EntityManager em;
public Place post(Place place)
{
em.persist(place);
System.out.println(place.getId());
// make point
return place;
}
Place class 의 instance place 를 매개 변수로 받아 persist 를 하면,
id 를 받는다.. ? -> flush 를 해줘야 한다.
@Repository
@RequiredArgsConstructor
public class PlaceRepository {
@Autowired
private final EntityManager em;
public Place post(Place place)
{
em.persist(place);
em.flush();
System.out.println(place.getId());
return place;
}
id가 생성이 되는걸 볼수 있다.
만약 Generationtype이 IDENTITY 인경우 , mysql id 에 Ai 를 체크 표시 해주거나.
@Entity
@Getter
@Setter
public class Place {
@Id @GeneratedValue(strategy = GenerationType.IDEnTIty)
@Column(name = "p_id")
private long id;
private String p_cate;
private String p_name;
private String p_weekt;
다음과 같이 auto 로 바꿔 준다.
@Entity
@Getter
@Setter
public class Place {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "p_id")
private long id;
private String p_cate;
private String p_name;
private String p_weekt;