2014-10-25 4 views
0

나는 최대 절전 모드를 ORM으로 사용하고 있습니다. 그리고 나는 두 개의 개체 인 ShopTypeShop을 가지고 있습니다. TypeShop에는 몇 개의 상점이있을 수 있습니다. 최대 절전 모드 onetomany manytoone 문제

@Entity 
@Table(name = "shops") 
public class Shop { 
    ... 
    @ManyToOne(fetch=FetchType.EAGER) 
    @JoinColumn(name = "shop_type_id") 
    private TypeShop typeShop; 
    ... 
} 

내가 모든 shops JSON 형식으로 idTypeShop로를 찾으려면

@Entity 
@Table(name = "shop_types") 
public class TypeShop { 
    ... 
    @OneToMany(fetch = FetchType.EAGER, mappedBy="typeShop", cascade = CascadeType.ALL) 
    private Set<Shop> shops; 
    ... 
} 

내가 이런 걸 얻을 :

[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First Description","coordinates":"59.842055288480076, 29.700164794921875","contacts":"First Contacts","site":"First web site","mail":"First email","photos":[],"typeShop":{"id":11,"name":"Производство газобетона","shops":[{"id":146,"name":"First Name","address":"First Address","description":"First ..... 

을 그리고 목록은 계속해서 간다. 가져 오기 유형 EAGER으로 인해 볼 수 있듯이 json 형식이 무한합니다. EAGERLAZY으로 변경하려고했으나 “failed to lazily initialize a collection of role” exception이 있습니다.

이 문제를 어떻게 해결할 수 있습니까? 미리 감사드립니다!

편집 됨 : 내가 Shop 엔티티로부터 TypeShop에 대한 게터를 제거하면 이 도움이됩니다. 그러나 더 좋은 방법이 있다면 나는 궁금해.

답변

관련 문제