我在春季启动项目工作,我想映射一个属性与序列(使用我的序列)列在我的表,这列不是ID。我找到了这个解决方案:
@Column(name = "DEMANDE_NUMBER", insertable = false, updatable = false, columnDefinition = "serial")
private Integer demandeNumber;
(因为@GeneratedValue保持null并且不使用序列)
此解决方案工作良好,字段在我的DB中持久化,值使用序列,但当我使用存储库保存后获得我的对象时,demandennumber为null
Demande savedDemande= demandeRepository.save(demandeToSave);
//demandeObj .getDemandeNumber() return null
有什么建议可以解决这个问题吗?
谢谢。
根据这个答案如何使用非ID字段的序列生成器?
我在我的属性
上添加了以下注释@Generated(GenerationTime.INSERT)
@Column(name = "column_name", columnDefinition = "serial", updatable = false)
你应该从hibernate而不是javax.persistence中导入包。
import org.hibernate.annotations.Generated;
import org.hibernate.annotations.GenerationTime;
我希望这可以帮助其他人在未来。注意,此解决方案适用于使用postgresql的spring数据。