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

标签 java spring hibernate sequence

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

@Entity
public class Product {
@Id
UUID id;

String productCode;
}

我希望从名为 Product_code_sequence 的序列生成 productCode,该序列已存在于我的数据库中。创建新产品时,我想从序列中获取下一个值,然后将其与 String 连接起来以获得类似“PR000004”的内容。 另外,我希望该解决方案独立于数据库,这意味着我希望它能够与 Postgres、H2 和任何其他支持序列的数据库一起使用。

最佳答案

一旦您保存您的实体并保持在同一事务上,您就可以设置您的属性,例如(使用commons.lang3中的StringUtils >):

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

更新后立即:

repo.save(product);

关于java - 如何在Spring中从序列生成实体字段的部分值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61060006/

相关文章:

java - 有谁知道 Hibernate 和 java 是否可以有效地与 Access 一起工作?

java - 应对两个对象(实体)之间的字段

spring - 如何声明父应用程序上下文

java - 关于 Apache Commons EqualsBuilder 和 HashCodeBuilder 以及 null 值

java - Crashlytics 不显示确切的代码行和错误

java - 将 PSS 参数中的 "salt length"参数更改为 BouncycaSTLe

java - 升级到 Spring Boot 2.2.2.RELEASE + Thymeleaf 3.0.11.RELEASE,thymeleaf/layout 停止工作

java - Hibernate - 从连接表中获取数据

java - JPA 中谓词的表达式解析器

java - Guava 可选。如何正确使用