Ada*_*Yao 5 java json hibernate jackson
该特定环境下的程序\xef\xbc\x9a\n EJB3.0 + JPA + jersey Web Service
\n\n第一个实体:
\n\n@Entity\n@Table(name = "student_by_test_yao")\n\npublic class StudentTest implements Serializable {\n @Id\n @GeneratedValue\n private Integer id;\n private String name;\n\n @ManyToOne\n @JoinColumn(name = "class_id")\n private ClassTest classes;\n\n public StudentTest() {}\n}\nRun Code Online (Sandbox Code Playgroud)\n\n第二实体:
\n\n@Entity\n@Table(name = "class_by_test_yao")\npublic class ClassTest implements Serializable{\n @Id\n @GeneratedValue\n private Integer id;\n private String name;\n\n @OneToMany(mappedBy = "classes",cascade = CascadeType.ALL, fetch=FetchType.EAGER)\n private List<StudentTest> students;\n\n public ClassTest() {}\n}\nRun Code Online (Sandbox Code Playgroud)\n\n当我拿到ClassTest的学生名单时。\n例外是:
\n\ncom.fasterxml.jackson.databind.JsonMappingException:\nInfinite recursion (StackOverflowError)\nRun Code Online (Sandbox Code Playgroud)\n\n如果我更改获取 FetchType.LAZY 异常是:
\n\norg.hibernate.LazyInitializationException: \nfailed to lazily initialize a collection of role: \ncn.gomro.mid.core.biz.goods.test.ClassTest.students, \ncould not initialize proxy - no Session\nRun Code Online (Sandbox Code Playgroud)\n\n如何解决我的问题?
\n小智 5
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userId")
private User user;
Run Code Online (Sandbox Code Playgroud)
确实有效。我刚刚在双向 @ManyToOne 映射上尝试过。它固定了
com.fasterxml.jackson.databind.JsonMappingException:无限递归(StackOverflowError)
| 归档时间: |
|
| 查看次数: |
9999 次 |
| 最近记录: |