【发布时间】:2019-08-19 15:59:35
【问题描述】:
我正在设置服务器以使用 JPA 从 postgresql 数据库中获取 CRUD api。每次我想从数据库中公开一个对象时,它都会复制 idObject。
当我使用 springframework 从数据库中获取一个对象并在之后发送它时,它会像这样复制 idObject:
{
"siteId": 3,
"contractId": "1",
"name": "sitenumber1",
"siteIdObject": {
"siteId": 3,
"contractId": "1"
}
}
SiteId 和 contractId 重复... 但我想要这样的东西:
{
"siteId": 3,
"contractId": "1",
"name": "sitenumber1"
}
我想避免使用 DTO,因为我认为有更好的方法,但我没有找到。由于我使用 springFramework 仅一两个月,我可能会忘记一些东西......
有代码:
网站代码:
@Entity
@IdClass(SiteId.class)
@Table(name = "site", schema="public")
public class Site {
@Id
@Column(name="siteid")
private Integer siteId;
@Id
@Column(name="clientid")
private Integer contractId;
private String name;
@JsonIgnore
@OneToMany(cascade=CascadeType.ALL, mappedBy = "site")
public Set<Device> devices;
//setter, getter, hash, equals, tostring, constructor empty one and full one
SiteId 代码:
public class SiteId implements Serializable {
private Integer siteId;
private Integer contractId;
// setter, getter, constructor empty and full, hash and equals
感谢帮助 :) 贝塞·丹尼尔
【问题讨论】:
标签: spring spring-boot