首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自引用记录导致“直接自引用导致循环”异常

自引用记录导致“直接自引用导致循环”异常
EN

Stack Overflow用户
提问于 2017-10-28 21:25:22
回答 1查看 806关注 0票数 1

我有自我参考课

代码语言:javascript
复制
@Entity
@Table(name = "contacts")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Document(indexName = "contacts")
public class Contacts implements Serializable
{

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@Column(name = "username")
private String username;

@Column(name = "password_smartlpc")
private String password;

@Column(name = "full_name")
private String fullName;

@ManyToOne
private Contacts companyContact;
}

但为了我的一份数据库记录

代码语言:javascript
复制
id  full_name   username    password    company_contact_id  
5   JAK movies  abc          xyz               5

此记录以company_contact_id作为其自引用( self id.Which ),而检索则进入自引用循环。

代码语言:javascript
复制
Enter: com.fps.web.rest.errors.ExceptionTranslator.processRuntimeException() 
with argument[s] = 
[org.springframework.http.converter.HttpMessageNotWritableException: Could not 
 write content: Direct self-reference leading to cycle (through reference 
 chain: java.util.UnmodifiableRandomAccessList[2]-
 >com.fps.domain.Contacts["companyContact"]-
 >com.fps.domain.Contacts["companyContact"]); nested exception is 
 com.fasterxml.jackson.databind.JsonMappingException: Direct self-reference 
 leading to cycle (through reference chain: 
 java.util.UnmodifiableRandomAccessList[2]-
  >com.fps.domain.Contacts["companyContact"]-
 >com.fps.domain.Contacts["companyContact"])]       

我试过了

代码语言:javascript
复制
(fetch = FetchType.LAZY) = gives same error as above.
@JsonIgnore :  removes error but does not retrieves Company_Contact_id
@JsonManagedReference @JsonBackReference same as above.

不幸的是,我不能更改数据库或修改it.Since,它的legacy.Any,我还可以尝试更多的东西吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-29 09:41:18

尝试在使用DTO中使用JHipster,您将获得对JSON序列化的更多控制,而不是简单地公开您的实体,特别是当您受到遗留数据库模式的限制时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46994637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档