문제

바이패스가 가능한가요? @GeneratedValue Hibernate의 ID에 대해 우리는 대부분의 경우 ID를 다음을 사용하여 설정하기를 원하는 경우가 있습니다. GeneratedValue, 그러나 어떤 경우에는 ID를 수동으로 설정하고 싶을 수도 있습니다.

이것이 가능합니까?

도움이 되었습니까?

해결책

JPA 사양에서 이 작업을 수행할 수 있다는 것을 알고 있으므로 Hibernate(JPA+ 주석 사용)에서도 수행할 수 있어야 합니다.

생성 중인 새 영구 모델의 ID 필드만 입력하면 해당 모델을 EntityManager에 "병합"할 때 설정한 ID가 사용됩니다.

하지만 여기에는 영향이 있습니다.방금 해당 ID를 모두 사용했지만 생성된 값 주석으로 지정된 시퀀스는 이를 알지 못합니다.현재 시퀀스 값보다 작은 미사용 ID를 지정하지 않는 한 시퀀스가 ​​방금 사용한 값을 따라잡으면 문제가 발생하게 됩니다.

따라서 사용자가 ID를 지정할 수 있는 위치를 알 수 있지만 나중에 발생할 수 있는 예외(중복 ID)를 포착해야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top