Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将序列号附加到插入时为字符串的非id字段?_Java_Hibernate_Jpa - Fatal编程技术网

Java 如何将序列号附加到插入时为字符串的非id字段?

Java 如何将序列号附加到插入时为字符串的非id字段?,java,hibernate,jpa,Java,Hibernate,Jpa,这可能类似于id情况下的序列生成器。但这并不能解决我目前的情况 插入时,是否可以将增量no或count(*)+1值附加到非id数据库字段?我正在使用SQL Server,我正在尝试实现适用于并发操作场景的逻辑 我有一个表,其中有一个字段,用于存储不同产品(如ESB-GRO-VEG)的代码,每次我向产品添加一个新项目时,我都需要使用序列号附加此代码,如ESB-GRO-VEG-001、ESB-GRO-VEG-002中所示,ESB-GRO-VEG-003等。我已经看过使用序列生成器的示例,但它只能应用

这可能类似于id情况下的序列生成器。但这并不能解决我目前的情况

插入时,是否可以将增量no或count(*)+1值附加到非id数据库字段?我正在使用SQL Server,我正在尝试实现适用于并发操作场景的逻辑

我有一个表,其中有一个字段,用于存储不同产品(如ESB-GRO-VEG)的代码,每次我向产品添加一个新项目时,我都需要使用序列号附加此代码,如ESB-GRO-VEG-001、ESB-GRO-VEG-002中所示,ESB-GRO-VEG-003等。我已经看过使用序列生成器的示例,但它只能应用于id或主键字段。有没有办法实现这一点?以下是我的实体代码的一部分

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
private Long Id;

@Column(name = "PROD-ID")
private String prod_id;     //------ This is the field I need to append the sequence number.

@Column(name="PROD_TYPE")
private String prod_type;

@Column(name="PROD_QUANTITY")
private BigDecimal quantity;

............. Getter and Setter Methods ..........
我需要生成的序列号不是从整数“1”开始的,我需要它遵循从001、002等开始的3位数或更多格式

任何帮助都将不胜感激

提前谢谢


请帮帮我

为什么不能使用“prod_id”setter方法呢?但是如何在setter方法中获得id字段的值呢?也许我不明白你的意思。请解释一下。