gpt4 book ai didi

java - ConstraintViolationException JPA

转载 作者:行者123 更新时间:2023-12-02 05:16:50 26 4
gpt4 key购买 nike

我正在尝试使用 JPA 实体和 @SequenceGenerator 将一些数据添加到数据库中。但似乎这个生成器没有达到预期的效果,我不知道为什么。

Hibernate: call next value for seq1
Hibernate: insert into Customer (FirstName, Surname, code, customerType, id) values (?, ?, ?, ?, ?)
13:20:36,078 ERROR SqlExceptionHelper:147 - integrity constraint violation: NOT NULL check constraint; SYS_CT_10093 table: CUSTOMER column: FIRST_NAME

这是我的模型类:

@Entity
public class Customer {

@Id
@SequenceGenerator(name = "my_seq", sequenceName = "seq1", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "my_seq")
private Long id;

public String FirstName;
public String Surname;
public String code;
public enum Customertype{Private, Corporate};
@Enumerated(EnumType.STRING)
public Customertype customerType;

Servlet,我在其中调用保存方法

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
new SqlExecutor().execute("/schema.sql");

Customer customer = new Customer();
customer.setFirstName("Peeter");
new CustomerDAO().save(customer);

最佳答案

这与生成器无关。错误信息非常清楚:

NOT NULL check constraint; SYS_CT_10093 table: CUSTOMER column: FIRST_NAME

因此,您尝试在客户表中插入一行,该表有一个名为 FIRST_NAME 的非空列,并且未为其提供任何值。所以你会得到一个违反约束的异常。

SQL语句是

insert into Customer (FirstName, Surname, code, customerType, id)

因此,您会看到,没有为 FIRST_NAME 插入任何值。

这还表明您的表有一列名为 FirstName 的列,以及另一列名为 FIRST_NAME 的列。这确实不是一个好主意。

关于java - ConstraintViolationException JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26862684/

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