关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
8天前关门了。
改进这个问题
我已经创建了一个hibernate程序与一对多的双向关系,这是工作良好。如果我试图将一个java对象转换成json对象,我会得到一个堆栈溢出错误,下面是我用于一对多双向关系的两个模型类
单位到
@Entity
@Table(name = "Units")
public class UnitDTO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "UnitID", unique = true, nullable = false)
private Integer unitID;
@Column(name = "UnitName", unique = true, nullable = false)
private String unitName;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "unit")
private Set<DepartmentDTO> departments = new HashSet<DepartmentDTO>();
}
部门到
@Entity
@Table(name = "Departments")
public class DepartmentDTO implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "DepartmentID", unique = true, nullable = false)
private Integer departmentID;
@Column(name = "DepartmentName", unique = true, nullable = false)
private String departmentName;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UnitID", nullable = false)
private UnitDTO unit;
}
我尝试了下面的方法将unitdto java对象转换为json对象,但是出现了堆栈溢出错误
ObjectMapper mapper = new ObjectMapper();
UnitDTO unitDTO = commonMethodService.getEntityByID(UnitDTO.class, rowID);
try {
String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(unitDTO);
System.out.println(jsonString);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
我试图用@jsonignore注解来修复这个错误,但没有成功我的期望是java到json的转换应该在我拉unitdto和departmentdto的时候都能成功
暂无答案!
目前还没有任何答案,快来回答吧!