spring - 如何在使用 JPA 获取后返回一对一关系的值?
问题描述
我的主要问题是,当我对正在开发的 API 执行获取“/users”请求时,我没有获得存储在一对一关系中的数据:
为了清楚起见,这是我从请求中得到的响应示例:
{"id":1,"name":"toto Toto","email":"toto@test.fr","username":"toto","role":{},...}
"role":{} 是空的,但我验证了数据库中有一个与此用户关联的角色,并且在调试模式下,我可以看到该角色已按我想要的方式加载。所以唯一的问题是当我返回整个用户时,JPA 不想返回角色值(即使角色是用户的一部分)。
我的一个想法是将转换器对象重写为 Json,但从我在互联网上看到的情况来看,这很痛苦,而且它应该不这样做就可以工作,所以我一定在某个地方犯了错误,但我找不到在哪里.. .
如果你有想法请告诉我:)
这是我的用户和角色的一对一和一对多关系:
用户:
@OneToOne( cascade = CascadeType.ALL)
@JoinTable(
name = "role_user",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "role_id"))
@NotNull
@JsonManagedReference
private Role role;
角色:
@OneToMany
@JoinTable(
name = "role_user",
joinColumns = @JoinColumn( name = "role_id" ),
inverseJoinColumns = @JoinColumn( name = "user_id" ) )
@JsonBackReference
private List<User> user;
我是堆栈溢出的新手,所以我不知道我是否提供了足够的信息,如果没有,请告诉我你想知道什么。
感谢您的时间。
解决方案
推荐阅读
- regex - 如何编写正则表达式来匹配多行模式?
- apache-kafka - 在 kafka-connect-http 源连接器中无限次获取相同的记录
- laravel - 在laravel中返回多个文件作为响应
- r - 用 ggplot2 镜像两个 PheWAS 图
- postgresql - 优化postgreSQL以降低成本
- javascript - 如何使用 jQuery AJAX 发布 JSON 数据
- nrwl-nx - 在解决与包的monorepo不兼容的问题的同时,是否可以使用带有自己的node_modules文件夹的NX-APP?
- c# - Termstore 条款以编程方式更改 sharepoint 2013 c#
- sql - 我创建了这个 CHECK 约束来保证 4 个字段中的至少 2 个在一个条目中是等效的。为什么它不起作用?
- mongodb - Pymongo - 纪元日期过滤器查询不适用于集合