当前位置: 首页 > 知识库问答 >
问题:

sql约束违反异常

秋博容
2023-03-14

我有一个MathematicsAnswer引用的实体数学。如果对数学执行post请求,我会得到一个例外,即MathsAnswer上的字段不能为空。但我确实在球场上跳了起来。拜托,我需要这个解决方案<代码>java.sql。SQLIntegrityConstraintViolationException:列'question_id'不能为空。

sql架构:

CREATE TABLE MATHEMATICS(
id integer not null auto_increment,
year date not null,
question_no int not null,
question varchar(128) default null,
primary key(id)
) engine=InnoDb;

CREATE TABLE MATHS_ANSWER(
id integer not null auto_increment,
date date default null,
question_no int not null,
question_id int not null,
solution varchar(128) default null,
solution_url varchar(128) default null,
primary key(id),
foreign key(question_id) references MATHEMATICS(id) ON DELETE NO ACTION ON UPDATE NO ACTION
) engine = InnoDb;

实体类:

@Entity
        @Table(name = "Mathematics")
        public class Mathematics {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Integer id;
    
    @Column(name = "year")
    private Date year;
    
    @Column(name = "question_no")
    private Integer questionNo;
    
    @Column(name = "question")
    private String question;
    
    @OneToOne(mappedBy = "maths", fetch = FetchType.EAGER,cascade = CascadeType.ALL
            )
    private MathsAnswers answers = new MathsAnswers();//getters & setters

MathsAnswers.java:

 @Entity
            @Table(name = "Mathematics")
            public class Mathematics {
    
        @Id
        @Column(name = "id")
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Integer id;
        
        @Column(name = "year")
        private Date year;
        
        @Column(name = "question_no")
        private Integer questionNo;
        
        @Column(name = "question")
        private String question;
        
        @OneToOne(mappedBy = "maths", fetch = FetchType.EAGER,cascade = CascadeType.ALL
                )
        private MathsAnswers answers = new MathsAnswers();//getters & setters
            

jpaRepo:

@RepositoryRestResource(collectionResourceRel = "mathematics", path = "maths")
public interface MathsRepo extends JpaRepository<Mathematics, Integer> {

}

职位要求:

{
    "year":"2004-01-03",
    "questionNo":"4",
    "question":"How many weeks makes a year?"
}

共有1个答案

邹桐
2023-03-14

为我的< code>MathsAnswer实体指定的表名错误;应该是< code>Mathsanswer而不是< code>Mathematics。

 类似资料:
  • 我正在使用Spring和Hibernate,我得到了这个例外。以下是我试图获得的:我有User和UserSettings类,它们以OneToMany和ManyToOne注释为界,如下所示: 现在,我想为用户添加设置,我是这样做的: 问题来了:UserSettings中的用户持有旧设置和新设置的集合(设置,我刚刚创建并想要添加),但旧设置持有用户的集合,其中没有新设置。我想这就是为什么我会遇到异常,

  • 问题内容: 我正在使用Oracle数据库。我们的服务呼叫频繁失败。当我查看日志时,在表上看到以下异常 java.sql.BatchUpdateException:ORA-00001:违反了唯一约束(DBSCHEMA.IDX_CO_DETAILS)。 我已经检查了表上索引的索引名称DBSCHEMA.IDX_CO_DETAILS。 它不包含任何列的(INCLUDE_COLUMN为null)。我怎么知道

  • 我在项目中使用Spring数据,并使用JPA在实体和表之间进行映射,这是我的实体 这是我的回购 当我尝试保存时,我遇到了以下问题:

  • 问题内容: 我遇到了一个项目有两次相同的.jar(对于我来说,是el-api.jar v2.1)两次的问题,因此,当我尝试使用Tomcat 6运行项目时,出现了以下错误堆栈。 我发现了 http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses- directive/ 但这没有用,因为解决方案影响了我项目的太多部分。 我无

  • 帮助我如何解决这个问题?我正在使用java进行NetSuite集成,我将所需的jar文件添加到我的项目中。添加jboss 6.1.0中部署的jar后。添加此jar后org.apache.sling.commons.log-2.0.6.jar获得以下异常。这是我的堆栈跟踪。

  • 我有一个迁移脚本之间的2个不同的模式数据库。脚本做了3件事:1。禁用约束2。将记录从旧架构插入到新架构3。启用约束 我发现这两个约束在旧的模式中是不存在的。这2个表的表结构定义有什么问题吗?