我将注释 Jacson 添加到我的实体中,但 json 无限循环的问题没有解决。另一种解决方案是什么?也许添加一些不同的注释。从表中选择并转移到列表没有问题,一切正常。
import org.codehaus.jackson.annotate.JsonManagedReference;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
@Entity
@Table(name = "Question")
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
public class Question implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
// @GeneratedValue
private int id;
private String question;
@JsonManagedReference("question-answers")
@OneToMany(mappedBy="question")
// @Transient
private List<Answer> answers;
// getters and setters
@Entity
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
public class Answer implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
// @GeneratedValue
private int id;
private String answer;
private byte isCorrect;
@ManyToOne(optional = false)
// @JoinColumn(name="QuestionID")
@JsonBackReference("question-answer")
@JsonIgnore
// @Transient
// @ManyToOne
@JoinColumn(name="QuestionID")
private Question question;
控制器
@RequestMapping("/home")
public @ResponseBody List<Question> home(){
List<Question> qu = questionService.getQuestions();
return qu;
我在我的页面上收到了 json 的无限循环。道
public List<Question> getQuestions() {
// TODO Auto-generated method stub
return sessionFactory.getCurrentSession().createQuery("from Question").list();
}
所以,再一次。我必须在我的 cod 中从正常工作 json 更改什么?
谢谢!