2012-12-04 4 views
11

jpaで文字列idを実装する最も簡単な方法は何ですか? これまでのところ私が持っているものstring id generator

@Id 
@GeneratedValue 
private int id; 

で、私が持っているしたいことは

@Id 
@GeneratedValue 
private String id; 

のようなものですが、私はこのようにそれを使用する場合、私はこのIDジェネレータが長く、整数を生成し、」取得、短い '。

答えて

17

あなたはこのようなJavaからUUIDを作成することができますあなたの場合は

@Id @GeneratedValue(generator="system-uuid") 
@GenericGenerator(name="system-uuid", strategy = "uuid") 
private String myId; 

Checkout this blogpost for details.

UUID.randomUUID().toString(); 

またはあなたのJPAがそれをサポートしている場合、Hibernateはないように、あなたが使用することができますがGoogleは "JPA UUID"のために多くの選択肢があります。あなたがのEclipseLinkを使用している場合は、@UuidGeneratorを使用することができます

+0

ブログへのリンクは、自分のホームページに行くだけです。削除する必要があります。 –