Spring Boot OneToOne 仍然加载相同的数据

我已经用外键连接了表。我的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;

当我尝试从数据库加载数据时,数据仍在加载。

http://img2.mukewang.com/62cfdc890001c54312030323.jpg

我只需要使用一个BaseUserConfig数据获得一个结果。

谢谢你的帮助 !


慕村9548890
浏览 195回答 3
3回答

慕神8447489

它是反序列化对象时的循环响应问题。例如:public class User { BaseUserConfig baseUserConfig; } public class BaseUserConfig{ User user;}

翻翻过去那场雪

好的,我用@JsonIgnore 修复了它:@OneToOne(mappedBy = "baseUserConfig")@JsonIgnoreprivate IamUser iamUser;

神不在的星期二

“问题”是当spring以json格式返回你的数据时,它会调用你返回的这些对象的getter和setter。由于它们是仍然链接到活动会话的实体,这将导致获取其余数据。解决此问题的一种方法是使用 DTO 对象而不是返回实体。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java