2012-12-04 60 views
11

在jpa中实现字符串ID最简单的方法是什么? 到目前为止,我有什么是字符串ID生成器

@Id 
@GeneratedValue 
private int id; 

什么,我想有是一样的东西

@Id 
@GeneratedValue 
private String id; 

,但如果我这样使用它,我得到“这个ID发生器长,整,简称'。

回答

17

您可以从Java中的UUID是这样的:

UUID.randomUUID().toString(); 

或者,如果你的JPA支持的话,比如Hibernate做,你可以使用:

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

Checkout this blogpost for details.

如果您谷歌的“JPA UUID”有很多选择。

+0

链接到博客只是去他们的主页。它应该被删除。 –