2016-12-06 2 views
1

Ex.Peut-on avoir une relation @OneToMany et @ManyToOne entre deux tables en hibernation?

public class Portfolio implements Serializable { 

    @ManyToOne() 
    @JoinColumn(name = "PORTFOLIO_OWNER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK__USER__PORTFOLIO"), nullable = false) 
    private User portfolioOwner; 

    @ManyToOne() 
    @JoinColumn(name = "ACCOUNT_CAPTAIN", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK__USER__PORTFOLIO2")) 
    private User accountCaptain; 

} 

et

public class User { 

    @ManyToOne 
    @JoinColumn(name = "PORTFOLIO_ID", referencedColumnName = "PORTFOLIO_ID", foreignKey = @ForeignKey(name = "FK_DEF_PORTFOLIO_USER")) 
    @Fetch(FetchMode.JOIN) 
    private Portfolio defaultPortfolio; 

} 

je lance en Stackoverflow sur les chercher en utilisant JACKSON comme JSON

org.springframework.http.converter.HttpMessageNotWritableException: Impossible d'écrire le contenu: Infinite recursion (StackOverflowError) (via la chaîne de référence: com.User ["defaultPortfolio"] -> com..Portfolio ["portfolioOwner"] -> com.Us er [ "defaultPortfolio"] -> com.Portfolio [ "portfolioOwner"] -> com..User [ "defaultPortfolio"] -

+1

Possible duplication de [récursion infinie avec Jackson JSON et Hibernate JPA problème] (http://stackoverflow.com/questions/3325387/infinite-recursion-with-jackson-json-and-hibernate-jpa-issue) – BadZen

Répondre

1

vous devez ajouter JSON ignorer d'un côté des relations ex: