hibernate - 我可以在 entityManager.persist 时用其他 ID 覆盖 @SequenceGenerator 值吗
问题描述
EmployeeID 在运行时被序列 nextval 覆盖,尽管我在服务层中明确设置它。有没有办法限制 seq 值?
我有如下实体类:
@Entity
@Table(name="XYZ")
public class Generator implements Serializable{
@Id
@GeneratedValue(strategy=AUTO, generator="ID_SEQ")
@SequenceGenerator(name="ID_SEQ",sequenceName="ID_SEQ")
@Column(name="EMPLOYEE_ID")
private String EmployeeId;
......
我想在我的服务层将 EmployeeID 的值设置为: setEmployeeId(abc.getEmpID); 然后应用逻辑 - 如果 abc.getEmpID 为空,则应由 SequenceGenerator 获取 EmployeeID。
在 DaoImpl,我保留了一个包含所有 Entity 值的列表: entityManager.persist -> employeeList;
预期的结果是 EmployeeID 应该保留为 abc.getEmpID 仅当它不为空时,否则 EmployeeID 应该是序列 nextval。
解决方案
推荐阅读
- apache-spark - Kubernetes 上的 SparkPi - 找不到或加载主类?
- config - Snakemake:在 YAML 配置文件中指定工作目录
- timer - 如何在flutter中进行倒计时?
- apache-kafka - 卡夫卡消费者没有消费任何消息
- node.js - 如何在同一服务器中使用节点 js 重定向到反应 js 应用程序?
- android - 色差atan和atan2的结果差异
- php - 执行sql查询时出错
- python - Python:SFTP:基于正则表达式模式递归列出目录和文件
- text-mining - spaklyr 的 spark_apply() 不适用于 tm 库
- javascript - 待办事项列表 JavaScript