Spring boot JPA проблема ассоциации многих ко многим - PullRequest
0 голосов
/ 14 июля 2020

У меня много отношений между двумя сущностями Пользователь и формы. и мои классы ниже. Пользователь. java

public class User {    
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    .....
    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "userformtable", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "form_id"))
    private List<forms> userform = new ArrayList<forms>();

    // CONSTRUCTOR AND GETTER SETTER    
}

AND forms.class

public class forms {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    
    @Column(unique = true)
    private String formname;
    
    @ManyToMany(mappedBy = "userform", fetch = FetchType.LAZY)
    private List<User> form = new ArrayList<User>();   
}

У меня есть таблица базы данных для отношений, как показано ниже

user_id |  form_id
--------------------
1       |       4
--------------------
1       |       6
-------------------
1       |       3
------------------
1       |       7 
=================== 
3       |       3
====================
3       |       7
===================

, когда я пытаюсь получить всех пользователей, используя данные Spring jpa. Я не получаю объект пользователя с идентификатором 3. Я получаю только идентификатор пользователя. вот мой ответ json.

0: {…}
1: 3 (this record is for user id 3)
2: {…}

может ли кто-нибудь помочь мне с этим?

Заранее спасибо.

1 Ответ

0 голосов
/ 16 июля 2020

Я решил, используя аннотацию @JsonIgnore в классе форм.

@ManyToMany(mappedBy = "userform", fetch  = FetchType.LAZY)
@JsonIgnore
private List<User> form = new ArrayList<User>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...