如何在Spring JSON查询中不发送@IdClass对象
我正在设置一个服务器,使用JPA从postgresql数据库获取CRUDAPI。每次我想从数据库中公开一个对象时,它都会复制idObject 当我使用springframework从数据库中获取一个对象并随后发送它时,它会复制idObject,如下所示:如何在Spring JSON查询中不发送@IdClass对象,spring,spring-boot,Spring,Spring Boot,我正在设置一个服务器,使用JPA从postgresql数据库获取CRUDAPI。每次我想从数据库中公开一个对象时,它都会复制idObject 当我使用springframework从数据库中获取一个对象并随后发送它时,它会复制idObject,如下所示: { "siteId": 3, "contractId": "1", "name": "sitenumber1", "siteIdObject": { "siteId": 3, "c
{
"siteId": 3,
"contractId": "1",
"name": "sitenumber1",
"siteIdObject": {
"siteId": 3,
"contractId": "1"
}
}
SiteId和ConstractId正在重复。。。
但我想要这样的东西:
{
"siteId": 3,
"contractId": "1",
"name": "sitenumber1"
}
我想避免使用DTO,因为我认为有更好的方法,但我没有找到。因为我使用springFramework只有一两个月,所以我可能忘记了一些东西
代码如下:
站点代码:
@实体
@IdClass(SiteId.class)
@表(name=“site”,schema=“public”)
公共类网站{
@身份证
@列(name=“siteid”)
私有整数siteId;
@身份证
@列(name=“clientid”)
私有整数压缩;
私有字符串名称;
@杰索尼奥雷
@OneToMany(cascade=CascadeType.ALL,mappedBy=“site”)
公用设备;
//setter、getter、hash、equals、tostring、构造函数空1和满1
站点ID代码:
public类SiteId实现可序列化{
私有整数siteId;
私有整数压缩;
//setter、getter、构造函数空和满、哈希和等于
谢谢你的帮助:)
Bessaix Daniel如果您使用Spring,您可能也在使用Jackson,因此如果您用它注释
SiteId
类,则在序列化Site
对象时,不应将其序列化
但是,我不确定这是否会破坏您的应用程序逻辑,因为id对象不再序列化。哇,它太简单了,我既高兴又沮丧!非常感谢!