2012-08-13 3 views
1

데이터베이스에 객체를 저장할 때 Object의 기본 키로 UUID 난수를 사용하고 있습니다. 따라서 생성 된 UUID 번호는 고유해야합니다. 이렇게하면 난수가 생겼어.UUID 난수 생성


final String UUIDUserToken = UUID.randomUUID().toString() 

이 생성 된 모든 번호에 대한 고유 번호를 생성 할 수 있나요?

아이디어를주십시오.

try{ 
    //try inserting 
}catch(){ 
    //SQL constraint fails 
    // regenerate new UUID 
    //check in DB before inserting 
    //insert now, if its unique, else regenerate 
} 
+0

참조 : http://stackoverflow.com/questions/2513573/how-good-is-javas-uuid-randomuuid – markus

답변

4

그것은

업데이트, (거의 가능성) 반복 할 수있다. 왜 Java 코드에서 기본 키를 생성합니까? 데이터베이스는이 작업을 잘 수행하는 것을 알고 있습니다. 필드를 AUTO INCREMENT으로 정의하십시오.

+4

반복 된 UUID를 수신 할 확률은 너무 적어서 가져올 때 오류를 처리하십시오. UUID). 매번 DB를 점검 할 필요가 없습니다. –

+1

동의 - 데이터베이스 제약 조건이 발생하면 그냥 잡으십시오. –

+0

@AviramSegal 데이터베이스를 확인하지 않으면 어떻게 그 반복을 알 수 있습니까? 당신은 그것이 반복된다고 가정해야한다고 말하고 있습니까? –

0

생성 된 ID는 정의에 의해 전 세계적으로 고유 :

+1

ID를 제공하는 중입니다. JPA 성능을 향상시키는 일반적인 기술. 또한 자동 생성 키에 대해 구현 된 증가 패턴을 따르지 않는 고유 한 ID가 필요할 때 도움이됩니다. 일반적인 유스 케이스는 독립적 인 데이터 소스를 동기화합니다. – ChriWeis