如何从Spring中的序列生成实体字段的部分值



我有一个实体产品,看起来像这样:

@Entity
public class Product {
@Id
UUID id;
String productCode;
}

我希望productCode由一个名为Product_code_sequence的序列生成,该序列已经在我的数据库中。在创建新的Product时,我想从序列中获得下一个值,然后将其与String连接以获得类似"PR000004"的值。此外,我希望该解决方案与数据库无关,这意味着我希望它能与Postgres、H2和任何其他支持序列的数据库一起工作。

一旦您save您的实体并保持在同一交易中,您就可以设置您的属性,如(使用StringUtilscommons.lang3(:

product.setProductNumber(StringUtils.rightPad(String.valueOf(product.getId()), 5, '0'));

就在你刚刚更新它之后:

repo.save(product);

最新更新