除了字符串id之外,我还想有一个唯一的数字。所以我想我可以使用Generated from Hibernate,但值总是空的。
我的实体:
@Entity(name = "user")
public class UserEntity {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(updatable = false, nullable = false)
private String id;
....
@org.hibernate.annotations.Generated(GenerationTime.ALWAYS)
@Column(name = "identifier_id", insertable = false, updatable = false)
private Long identifierId;
}
有人能帮帮我吗?
感谢德米特里。
我解决这个问题如下:
@GeneratorType(type = UUIDGenerator.class, when = GenerationTime.INSERT)
@Column(name = "identifier_id")
private String identifierId;
public class UUIDGenerator implements ValueGenerator<String> {
public String generateValue(Session session, Object owner) {
return UUID.randomUUID().toString().replace("-", "");
}
}