在初始化对象时,我似乎无法找到有关如何使用GeneratedValue注释的任何文档。
这是我的对象类的id字段,我还有两个我遗漏的字段
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "ID")
private BigDecimal id;
我的构造函数
public Pothole() {
}
public Pothole(BigDecimal id) {
this.id = id;
}
public Pothole(BigDecimal id, byte[] image, Date pdate) {
this.id = id;
this.image = image;
this.pdate = pdate;
}
我的id字段用什么?我把它留空吗
Pothole entity = new Pothole(???,decodedBytes, date);
答案 0 :(得分:0)
是的,你应该把它留空,当Hibernate将实体保存在数据库中时(即执行insert
语句),给定实体的id
将被数据库评估(在您的情况下,id列将提供值)。
在实体持久化之前,“d”属性将保持为空。
答案 1 :(得分:0)
使用默认构造函数
Pothole entity = new Pothole();
entity.setImage(decodedBytes);
entity.setPdate(date);