Spring JPA ссылается на таблицу с другой таблицей - PullRequest
0 голосов
/ 21 февраля 2019

Я создаю игру-викторину весной, используя JPA, и я уже создал пользователя, сейчас я создаю вопрос и ответ, дело в том, что вопрос должен иметь как минимум 1 ответ, потому что он может содержать два исправления,я сомневаюсь, как мне создать таблицы для этого?

Это мой класс вопросов

@Entity(name = "question")
public class Question extends DateAudit {
    @Id
    @Column(name = "question_id")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "question_seq")
    @SequenceGenerator(name = "question_seq", allocationSize = 1)
    private Long id;

    @Column(name = "name")
    @NotBlank(message = "Question name can not be blank")
    private String name;

    @Column(name = "is_exam_question", nullable = false)
    private Boolean is_exam_question;

    @ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
    private Set<Answer> answers = new HashSet<>();

}

Здесь я что-то упустил, потому что я хочу знать, какой пользователь ответил на вопроси сколько раз он добился успеха или нет.

Также мой класс Ответов

@Entity(name = "answer")
public class Answer {

    @Id
    @Column(name = "answer_id")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "answer_seq")
    @SequenceGenerator(name = "answer_seq", allocationSize = 1)
    private Long id;

    @Column(name = "answer_to_question")
    @NotBlank(message = "Answer to question name can not be blank")
    private String answer_to_question;

    @ManyToOne
    private Question question;
}

Объяснен лучше

Как добавить несколько ответов на вопросы и как мне это сделать?назначить ответ на вопрос?

1 Ответ

0 голосов
/ 21 февраля 2019

Создайте новое имя класса как Quiz.class

@Entity
public class Quiz{

@Id
private int id;

private String quizName;

private String quizDescription;

private int passingScore;

private int totalScore;

// Getter and setters
}

Question.class будет выглядеть следующим образом

@Entity(name = "question")
public class Question extends DateAudit {
    @Id
    @Column(name = "question_id")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "question_seq")
    @SequenceGenerator(name = "question_seq", allocationSize = 1)
    private Long id;

    @Column(name = "name")
    @NotBlank(message = "Question name can not be blank")
    private String name;

    @Column(name = "is_exam_question", nullable = false)
    private Boolean is_exam_question;

    @OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE },mappedBy="question")
    private Set<Answer> answers = new HashSet<>();

    @ManyToOne
    private Quiz quiz;

}

Tests.class будет выглядеть следующим образом

@Entity
public class Tests{

private int id;

@ManyToOne
private Quiz quiz;

@ManyToOne
private User user;

private int score;

private String status; // failed or passed

}

Я думаю, это поможет вам.Не стесняйтесь задавать мне больше вопросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...