在 jpa 中实现字符串 id 的最简单方法是什么?到目前为止我所拥有的是
@Id
@GeneratedValue
private int id;
我想要的是
@Id
@GeneratedValue
private String id;
但如果我像这样使用它,我会得到“这个 id 生成器生成长、整数、短”。
在 jpa 中实现字符串 id 的最简单方法是什么?到目前为止我所拥有的是
@Id
@GeneratedValue
private int id;
我想要的是
@Id
@GeneratedValue
private String id;
但如果我像这样使用它,我会得到“这个 id 生成器生成长、整数、短”。
您可以像这样从 Java 创建 UUID:
UUID.randomUUID().toString();
或者,如果您的 JPA 支持它,就像 Hibernate 一样,您可以使用:
@Id @GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String myId;
如果您在谷歌上搜索“JPA UUID”,则有很多选择。
如果您使用的是 EclipseLink,则可以使用 @UuidGenerator,
http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/a_uuidgenerator.htm#CFAFIIFC
如果需要,您还应该能够将序列整数转换为字符串。