【问题标题】:Update Column with the sequence of primaryKey in Spring boot jpa使用Spring boot jpa中的主键序列更新Column
【发布时间】:2022-01-25 06:02:25
【问题描述】:
我有一个名为 user table 的表,主键列为 Id。现在还有另一列employeeid。现在这个列值应该是根据ID列生成的。员工 ID 列应采用以下格式。
EE00001 用于 id 列值为 1 的员工。
ES00002 适用于 id 列值为 2 的学生。
目标是“对于员工 id,我不需要生成序列,因为序列已经为 id 列生成,因此我可以使用它。”。
那么我如何在 Spring Boot jpa 中实现这一点。生成employee_id 列的任何其他想法也很有帮助。
【问题讨论】:
标签:
java
spring
spring-boot
hibernate
jpa
【解决方案1】:
最简单的方法是在一个事务中保存Employee两次
@Transactional
public void saveEmployee(Employee employee) {
employeeRepository.save(employee);
employeeRepository.flush(); // to have id
employee.setEmployeeId(EmployeeUtils.generateId(employee.getId()));
employeeRepository.save(employee);
}