自动生成数字spring-boot-jpahibernate注释总是给出null值



除了字符串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("-", "");
}
}

最新更新