首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate :无法对JDBC目标执行架构管理

Hibernate :无法对JDBC目标执行架构管理
EN

Stack Overflow用户
提问于 2018-08-07 18:06:19
回答 1查看 2.3K关注 0票数 1

我真的被困在这里了,我需要帮助,我一直在尝试运行我的应用程序,让hibernate使用我的java实体创建表,但它一直引发这个异常:

无法对JDBC目标create table answer执行架构管理(id_answer bigint not null auto_increment,order integer,text varchar(255),question_id_question bigint,主键(id_answer))

说我的SQL语法中有一个错误,即使我没有写任何sql,我让hibernate来处理所有的错误。

下面是我的类和配置:

Answer.java:

代码语言:javascript
复制
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;
        }
    }

这是我的配置:

代码语言:javascript
复制
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关键字,这就是导致错误的原因,更改变量的名称解决了这个问题!

EN

回答 1

Stack Overflow用户

发布于 2018-08-07 18:12:28

如果Hibernate正在为您的创建表,那么您的hibernate.ddl-auto属性应该设置为“create”或“create-drop”。update选项意味着Hibernate希望您的表已经存在。请参阅:Hibernate hbm2ddl.auto possible values and what they do?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51724113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档