gpt4 book ai didi

java - 一种从 Java 对象实例生成代码的方法

转载 作者:行者123 更新时间:2023-12-01 11:08:01 27 4
gpt4 key购买 nike

我知道HashCode是一种方法,但我注意到HashCode在一段时间后发生了变化。所以,我有一个允许购买东西的应用程序,每篇文章都由现在从哈希码生成并存储在数据库 PostgreSQL 中的代码来标识,但我发现了这个问题,所以我无法使用它。事实上,第二天我尝试在数据库上识别这篇文章时,哈希码发生了变化,所以它不起作用。什么是解决方案?多谢!我为文章生成代码的对象是这样的

public class AcquistoDVDRichiesto implements IsSerializable, CustomEnum {
private int codice_carrello;
private String utente;
private int numero;
private String film;
private int fornitura;

public AcquistoDVDRichiesto(){}
public AcquistoDVDRichiesto(int c, String user){
utente=user;
codice_carrello=c;
}

public void generateCodeBasket(){
if(film!=null && numero!=0 && fornitura!=0){
codice_carrello=Math.abs(film.hashCode()+((Integer)numero).hashCode()+
((Integer)fornitura).hashCode()+tipo_supporto.DVD.hashCode());
}
}
}

-

最佳答案

您不应该手动生成数据库主键。最好的方法是让数据库为每条记录生成唯一的主键。这样您就可以确保不会发生主键冲突,并且代码不会更改。

在 PostreSQL 中,您可以使用 SERIAL 列类型来实现此目的。示例:

CREATE TABLE tablename (
colname SERIAL
);

另一种方法是使用序列,但稍微复杂一些。

关于java - 一种从 Java 对象实例生成代码的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32721187/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com