使用Jackson将hibernate对象转换为JSON时遇到问题,因为某些对象在其定义中有自引用.问题是我不控制那些实体的代码,所以我不能在那里添加注释.
实际上我只想限制递归的深度,例如5级.我需要与包含自引用的任何实体对象一起使用的通用代码.是否可能?我不介意使用另一个JSON库.
以下简单代码
ObjectMapper mapper = new ObjectMapper();
Query q = session.createQuery("from Hazard ");
List<Hazard> hazards = q.list();
for (Hazard h : hazards) {
String hazardJson;
hazardJson = mapper.writeValueAsString(h);
}
Run Code Online (Sandbox Code Playgroud)
给我例外:
org.codehaus.jackson.map.JsonMappingException: Direct self-reference leading to cycle (through reference chain: com.fgm.imsma.pojo.Hazard["location"]->com.fgm.imsma.pojo.Location["location"])
at org.codehaus.jackson.map.ser.BeanPropertyWriter._reportSelfReference(BeanPropertyWriter.java:473)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:411)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:245)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:212)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:428)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:245)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:212)
at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:587)
at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:245)
at org.codehaus.jackson.map.ObjectMapper._configAndWriteValue(ObjectMapper.java:1993)
at org.codehaus.jackson.map.ObjectMapper.writeValueAsString(ObjectMapper.java:1595)
at imsma.json.GetObjects.main(GetObjects.java:47)
在此先感谢您的任何建议!
我继承了一个经典的ASP项目,并将其部署在IIS 7.5上.我能够访问该网站,但在某些时候我得到一个通用的500错误页面.我想知道发生了什么,所以我认为最好是看日志

为了记录,我是IIS/ASP的新手,所以问题听起来有点傻..感谢任何建议!
我是一个初学者.
我创建了一个包含4个eclipse项目的git存储库.
有一段时间我正在使用git命令进行提交.
之后,我安装了EGit for eclipse.在"Git repository explore"透视图中,我添加了一个"现有的本地存储库",我可以从这个角度提交和推送更改.
问题在于,在任何persective中,eclipse都不会根据Window - > Preferences - > Team - > Git - > Label Decorations来装饰标签.或者更直接地说 - 我看不到项目树中未经修改的变化.
有什么建议?
谢谢!