【问题标题】:Spring: Save one form data into 2 entity objectsSpring:将一个表单数据保存到 2 个实体对象中
【发布时间】:2014-06-30 10:56:16
【问题描述】:

我正在开发一个 Spring MVC 应用程序。这是一个电子学习应用程序,表格帮助用户输入多项选择题及其选项。我将问题和选项存储在 2 个不同的表中,即 question 和 question_answer。我已将它们创建为实体 bean。

我希望有一个表单可以在同一个屏幕上同时接收问题和答案,但是在单击提交后,数据应该存储在两个不同的实体 bean 中。

我如何实现这一目标?我可以为一个对象声明一个命令名,但理想情况下,我需要两个命令名。

感谢您的帮助!

问题实体:

@Entity
@Table(name="question")
public class Question {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "questionid", nullable=false, unique=true)
private int questionid;

@Column(name = "questiontext", nullable=false)
private String questiontext;

@Column(name = "questionstem", nullable=false)
private String questionstem;

@Column(name = "questionfeedback", nullable=false)
private String questionfeedback;

@Column(name = "subject", nullable=false)
private String subject;

@Column(name = "category", nullable=false)
private String category;

问答实体

@Entity
@Table(name="question_answers")
public class QuestionAnswer{

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id", nullable=false, unique=true)
private int answerid;

@ManyToOne
@JoinColumn(name="questionid")
private int questionid;

@Column(name="option1", nullable=false)
private String option1;

@Column(name="option1score", nullable=false)
private String option1score;

@Column(name="option1feedback", nullable=false)
private String option1feedback;

@Column(name="option2", nullable=false)
private String option2;

@Column(name="option2score", nullable=false)
private String option2score;

@Column(name="option2feedback", nullable=false)
private String option2feedback;

@Column(name="option3", nullable=false)
private String option3;

@Column(name="option3score", nullable=false)
private String option3score;

@Column(name="option3feedback", nullable=false)
private String option3feedback;

@Column(name="option4", nullable=false)
private String option4;

@Column(name="option4score", nullable=false)
private String option4score;

@Column(name="option4feedback", nullable=false)
private String option4feedback;

@Column(name="option5", nullable=false)
private String opttion5;

@Column(name="option5score", nullable=false)
private String option5score;

@Column(name="option5feedback", nullable=false)
private String option5feedback;

表格:

【问题讨论】:

    标签: java spring jakarta-ee spring-mvc


    【解决方案1】:

    我觉得你应该为问题和答案(选项)创建一个 bean,使用一个 commandName 对象,然后在服务层将它们分隔为问题和答案(选项),并在 dao 层将它们保存在各自的表中( question 和 question_answer) ,请将其作为建议,因为这不是您问题的答案,而是一种解决方法,但以适当的方式;),谢谢

    public class QuestionAnswers{
    
    private int questionid;
    
    private String questiontext;
    private String questionstem;
    private String questionfeedback;
    private String subject;
    private String category;
    
    private int answerid;
    
    private String option1;
    private String option1score;
    private String option1feedback;
    
    
    private String option2;
    private String option2score;
    private String option2feedback;
    
    
    private String option3;
    private String option3score;
    private String option3feedback;
    
    
    private String option4;
    private String option4score;
    private String option4feedback;
    
    
    private String opttion5;
    private String option5score;
    private String option5feedback;
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 2021-05-07
      • 2014-07-09
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多