关系"technologies"列"id"中的空值违反了非空约束 (PostgreSQL)



Technology和technologyManager类如下所示:我试图通过swagger-ui向数据库添加技术,但在列"id"中得到空值异常;关系"技术"违反非空约束

public class Technology {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
private int id;
@Column(name="name")
private String name;
@ManyToOne(cascade = CascadeType.DETACH)
@JoinColumn(name = "language_id")
private ProgrammingLanguage language;
}
public void add(CreateTechnologyRequest technologyRequest) throws Exception {
Technology technology = new Technology();


if(technologyRequest.getName().isBlank()) {
throw new Exception("Please enter a name");
}else{
for(Technology technologies : technologyRepository.findAll()) {
if(technologies.getName().equalsIgnoreCase(technologyRequest.getName())) {
throw new Exception("This name is already exist.");
}else {

}       technology.setName(technologyRequest.getName());    

for(ProgrammingLanguage language : languageRepository.findAll()) {

if(language.getName().equalsIgnoreCase(technologyRequest.getLanguageName())) {
technology.setLanguage(language);
}
}           
}
technologyRepository.save(technology);
}

}

我试图通过使用swagger-ui向数据库添加新技术,但它抛出了列"id"空值的异常。即使它是主键并且是自动生成的。

尝试用GenerationType.AUTO代替GenerationType.IDENTITY,并将id类型从int更改为IntegerLong

最新更新