Spring Boot OneToOne по-прежнему загружает одни и те же данные - PullRequest
0 голосов
/ 01 марта 2019

Я связал таблицы с внешним ключом.И мой Spring Boot Сущности, подобные этому:

User.java

 @OneToOne(fetch = FetchType.LAZY, optional = false)
 @JoinColumn(name = "BASE_USER_CONFIG_ID_FK")
 private BaseUserConfig baseUserConfig;

BaseUserConfig.java

@OneToOne(fetch = FetchType.LAZY, mappedBy = "baseUserConfig")
@LazyCollection(LazyCollectionOption.EXTRA)
private User user;

Когда я пытаюсь загрузить данные из базы данных, данные все еще загружаются вокруг.

enter image description here

Мне нужно только получитьодин результат с одним BaseUserConfig данными.

Спасибо за помощь!

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Это проблема циклического ответа при десериализации объектов.

например:

public class User {

 BaseUserConfig baseUserConfig; 

} 

public class BaseUserConfig{

 User user;

}
0 голосов
/ 01 марта 2019

Хорошо, я исправил это с помощью @JsonIgnore:

@OneToOne(mappedBy = "baseUserConfig")
@JsonIgnore
private IamUser iamUser;
0 голосов
/ 01 марта 2019

«Проблема» в том, что когда spring возвращает ваши данные в формате json, она вызывает методы получения и установки этих объектов, которые вы возвращаете.Поскольку они являются сущностями, которые все еще связаны с активным сеансом, это приведет к извлечению остальных данных.

Один из способов решения этой проблемы - работа с объектами DTO вместо возврата ваших сущностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...