package com.syzton.sunread.model.exam; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import com.syzton.sunread.dto.exam.OptionDTO; import com.syzton.sunread.model.common.AbstractEntity; @Entity @Table(name = "question_option") public class Option extends AbstractEntity { @Column(name = "tag", nullable = false) private String tag; @Column(name = "content", nullable = false) private String content; // @JsonIgnore // @ManyToOne(cascade = {CascadeType.MERGE,CascadeType.REFRESH }, optional = // true) // @JoinColumn(name="question_id") // private ObjectiveQuestion question; // // public ObjectiveQuestion getQuestion() { // return question; // } // // public void setQuestion(ObjectiveQuestion question) { // this.question = question; // } public String getTag() { return tag; } public void setTag(String tag) { this.tag = tag; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (!(obj instanceof Option)) { return false; } Option option = (Option) obj; return (option.id).equals(this.id); } public static Builder getBuilder(String tag) { return new Builder(tag); } public static class Builder { private Option built; public Builder(String tag) { built = new Option(); built.tag = tag; } public Builder id(Long id) { built.id = id; return this; } public Option build() { return built; } public Builder content(String content) { built.content = content; return this; } } public void setCreationTime(String creationTime) { DateTimeFormatter format = DateTimeFormat.forPattern("yyyy-MM-dd"); // 时间解析 DateTime dateTime2 = DateTime.parse(creationTime, format); this.creationTime = dateTime2; } public OptionDTO createDTO() { OptionDTO optionDTO = new OptionDTO(); return optionDTO; } }