我有一个实体产品,看起来像这样:
@Entity
public class Product {
@Id
UUID id;
String productCode;
}
我希望productCode
由一个名为Product_code_sequence
的序列生成,该序列已经在我的数据库中。在创建新的Product时,我想从序列中获得下一个值,然后将其与String
连接以获得类似"PR000004"的值。此外,我希望该解决方案与数据库无关,这意味着我希望它能与Postgres、H2和任何其他支持序列的数据库一起工作。
一旦您save
您的实体并保持在同一交易中,您就可以设置您的属性,如(使用StringUtils
从commons.lang3
(:
product.setProductNumber(StringUtils.rightPad(String.valueOf(product.getId()), 5, '0'));
就在你刚刚更新它之后:
repo.save(product);