【发布时间】:2021-01-20 12:49:44
【问题描述】:
我有两个表 Quiz 和 Question,我想将它们与 @OneToMany 关系关联,但连接表未在 mysql 工作台数据库中创建。以下是实体:
测验.java
@Entity
public class Quiz {
// attributes :
private Integer idQuiz;
private String quizTopic;
@OneToMany
@JoinColumn(name = "quiz_Id")
private List<Question> questions;
// constructors
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "quiz_Id")
public Integer getIdQuiz() {
return idQuiz;
}
@Column(name = "quiz_topic")
public String getQuizTopic() {
return quizTopic;
}
//setters
}
Question.java
@Entity
public class Question {
// attributes
private Integer idQuestion;
private String value;
private String op1;
private String op2;
private String op3;
private String correctAnswer;
// constructors
// Getters :
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "question_Id")
public Integer getIdQuestion() {
return idQuestion;
}
@Column(name = "question_value")
public String getValue() {
return value;
}
@Column(name = "question_op1")
public String getOp1() {
return op1;
}
@Column(name = "question_op2")
public String getOp2() {
return op2;
}
@Column(name = "question_op3")
public String getOp3() {
return op3;
}
@Column(name = "question_op4")
public String getCorrectAnswer() {
return correctAnswer;
}
//setters
}
没有创建外键
这是我跑步后得到的结果
Hibernate: create table question (question_id integer not null auto_increment, question_op4 varchar(255), question_op1 varchar(255), question_op2 varchar(255), question_op3 varchar(255), question_value varchar(255), primary key (question_id)) engine=InnoDB
Hibernate: create table quiz (quiz_id integer not null auto_increment, quiz_topic varchar(255), primary key (quiz_id)) engine=InnoDB
application.properties:
spring.main.web-application-type=none
spring.application.ui.title=Quiz
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/quiz?createDatabaseIfNotExist=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=justpass
spring.jpa.show-sql=true
【问题讨论】:
-
你确定没有表
Quiz_Question?能否请您也显示应用程序属性文件。 -
没有表
Quiz_Question
标签: java mysql spring-boot hibernate jpa