java - 休眠:无法对 JDBC 目标执行模式管理
问题描述
我真的被困在这里,我需要帮助,我一直在尝试运行我的应用程序并让 hibernate 使用我的 java 实体创建表,但它一直在引发这个异常:
无法对 JDBC 目标执行架构管理 [创建表答案 (id_answer bigint not null auto_increment, order integer, text varchar(255), question_id_question bigint, primary key (id_answer))]
说我的 SQL 语法有错误,即使我没有写任何 sql,我也让 hibernate 处理这一切。
以下是我的课程和配置:
答案.java:
package com.sfm.elearn.business.entities;
import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import com.fasterxml.jackson.annotation.JsonIgnore;
@Entity
public class Answer implements Serializable {
@Id @GeneratedValue
private Long idAnswer;
private String text;
private Integer order;
@ManyToOne
@JsonIgnore
private Question question;
public Answer() {
super();
// TODO Auto-generated constructor stub
}
public Answer(String text, Integer order, Question question) {
super();
this.text = text;
this.order = order;
this.question = question;
}
public Long getIdAnswer() {
return idAnswer;
}
public void setIdAnswer(Long idAnswer) {
this.idAnswer = idAnswer;
}
}
这是我的配置:
spring.datasource.url=jdbc:mysql://localhost:3306/ElearningBase
spring.datasource.username=root
spring.datasource.password=654321
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
编辑:我发现了错误,属性“order”是一个保留的 SQL 关键字,这是导致错误的原因,更改变量的名称解决了它!
解决方案
如果 Hibernate 正在为您创建表,那么您的 hibernate.ddl-auto 属性应设置为“create”或“create-drop”。更新选项意味着 Hibernate 期望您的表已经存在。请参阅:Hibernate hbm2ddl.auto 可能的值以及它们的作用?
推荐阅读
- matlab - matlab中数组外的括号
- linux - 即使使用 docker run --cap-add=NET_ADMIN ,`ip link add ifb0 type ifb` 也无法在 Docker 上运行
- c++ - 包括 STL 而不会乱扔全局范围
- opencv - Colcon 找不到正确的 opencv 版本
- java - 导入 javax.ejb 无法解析。如何解决这个问题?
- python - 使用 randn 在 matlab 和 python 中生成相同的数组
- android - 默认情况下在包中声明的权限 CAMERA
- c++ - 如果没有线程需要唤醒,是否需要获取锁并通知condition_variable?
- php - 为什么我的 Laravel 应用程序可以在我的本地主机上运行,但是当部署到 aws 时,它会错误地重定向?
- html - 如何重新排序 Bootstrap 4 中的列?