2015-01-15 2 views
1

사용자 모델이 있습니다. 그것은 내 스프링 보안에서 사용하고, 거기에 내 사용자의 역할을 포함하는 몇 가지 HashSet 필드가 있습니다. 하지만 이제는 REST를 설정하려고합니다. 그리고 내가 json 형식으로 User 객체를 얻었을 때 나는이 HashSet 때문에 무한 반복을 얻는다.HashSet 휴식 모델 문제 스프링

MyController에 :

@RequestMapping(value="/rest/{login}", method = RequestMethod.GET) 
    public String getRest(@PathVariable String login, Model model){ 
     model.addAttribute("user",dao.findByLogin(login)); 
     return "rest"; 
    } 

작은 조각 :

내가이 경우에 할 수있는 일
{ 
    "user" : { 
    "login" : "roman", 
    "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
    "email" : "email", 
    "enabled" : true, 
    "userRole" : [ { 
     "roleId" : 1, 
     "user" : { 
     "login" : "roman", 
     "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
     "email" : "email", 
     "enabled" : true, 
     "userRole" : [ { 
      "roleId" : 1, 
      "user" : { 
      "login" : "roman", 
      "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
      "email" : "email", 
      "enabled" : true, 
      "userRole" : [ { 
       "roleId" : 1, 
       "user" : { 
       "login" : "roman", 
       "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
       "email" : "email", 
       "enabled" : true, 
       "userRole" : [ { 
        "roleId" : 1, 
        "user" : { 
        "login" : "roman", 
        "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
        "email" : "email", 
        "enabled" : true, 
        "userRole" : [ { 
         "roleId" : 1, 
         "user" : { 
         "login" : "roman", 
         "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
         "email" : "email", 
         "enabled" : true, 
         "userRole" : [ { 
          "roleId" : 1, 
          "user" : { 
          "login" : "roman", 
          "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
          "email" : "email", 
          "enabled" : true, 
          "userRole" : [ { 
           "roleId" : 1, 
           "user" : { 
           "login" : "roman", 
           "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y", 
           "email" : "email", 
           "enabled" : true, 
           "userRole" : [ { 
            "roleI .... 

?

+0

정말 양방향 관계가 필요합니까? 객체에 대한 DTO를 생성하고 실제 엔터티 대신 반환하십시오. –

+0

당신은 HashSet 필드없이 다른 클래스 사용자를 만드는 것을 의미합니까? – viavad

+0

순환 참조가없는 임의 구조가 아닙니다. –

답변

3

주석과 UserRoleuser 속성 :이 순환 참조하고 다음되지 잭슨 것을 지시

@JsonBackReference 

.

+0

나는 또한 같은 문제를 겪었습니다. – Diego