似乎PostgreSQL不允许创建名为"user"的数据库表.但MySQL将允许创建这样的表.
那是因为它是关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSQLDialect).
我有一个注册课程,其中有分数列表。我试图引用 Score 类,但得到以下结果:
通过 JDBC 语句执行 DDL“更改表分数添加约束...外键(enrollment_id)引用注册(id)”时出错 原因:java.sql.SQLException:无法打开引用的表“注册”
运行应用程序后,在数据库中创建了 Score 表,但缺少 Enrollment 表,并且 Score 的 enrollment_id 列不是外键。
我怎么解决这个问题?我尝试用 @Cache 进行注释并忽略表的双重创建,但没有成功。我正在使用MySQL。
@Entity
@Table(name = "enrollment")
public class Enrollment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "student_id")
public Student student;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "date", nullable = false)
public Date date;
@Column(name = "rank", nullable = false)
public int rank;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "specialty_id", referencedColumnName = "id")
public Specialty specialty;
@Lob
@Basic(fetch = FetchType.LAZY) …Run Code Online (Sandbox Code Playgroud) 我在代码中遇到了一些麻烦。我一直在尝试此网站上所有可能的解决方案,但没有任何效果。我似乎无法理解可能是什么问题。
我尝试过的解决方案的链接:
Spring Boot,JPA错误:“通过JDBC语句执行DDL错误”
系统配置:Ubuntu 16.04 MySQL 8
2018-11-06 12:38:52.273 INFO 16491 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
Hibernate: create table outputmessages (id integer not null, from varchar(255), message varchar(255), time datetime, topic varchar(255), primary key (id)) engine=InnoDB
2018-11-06 12:38:53.117 WARN 16491 --- [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement
at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlString(AbstractSchemaMigrator.java:559) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlStrings(AbstractSchemaMigrator.java:504) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at …Run Code Online (Sandbox Code Playgroud)