繁体   English   中英

自动生成编号 spring 启动 jpa hibernate 注释始终给出 Z37A6259CC0C1DAE299A786648 值

[英]Auto generate number spring boot jpa hibernate annotation gives always null value

除了我的字符串 ID,我还想有一个唯一的数字。 所以我想我可以使用 Generated from Hibernate 但值始终是 null。

我的实体:

@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("-", "");
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM