我为数据库表创建了一个JPA实体。有一个布尔字段“isPreferred”。如果我得到表格的条目,我在答案中有重复的字段。一个“preferred”= true,另一个“isPreferred”= true。我只期望isPreferred字段。我怎么解决这个问题?
我已经尝试过使用布尔包装器类。还尝试使用像isPreferred和isIsPreferred / setPreferred和setIsPreferred这样的setter。
import javax.persistence.*;
import javax.xml.bind.annotation.XmlElement;
@Entity
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String street;
private String houseNr;
private String zip;
private String city;
private String country;
@XmlElement(name = "isPreferred")
private boolean preferred;
...getters/setters...
public boolean isPreferred() {
return preferred;
}
public void setPreferred(boolean isPreferred) {
this.preferred = isPreferred;
}
}
我希望我的响应中只有一个布尔字段。只有“isPreferred”字段,但实际我得到首选和isPreferred:
"addresses": [
{
"zip": "12345",
"country": "DEU",
"city": "Köln",
"street": "Hauptstr.",
"isPreferred": true,
"houseNr": "1",
"type": "homeAddress",
"preferred": true
}
],
在我看来,你基本上有两个选择:
@XmlAccessorType(XmlAccessType.FIELD)
注释类@XmlElement(name = "isPreferred")
放在字段的setter上目前,您正在使用getter创建第二个字段。
如果我调试到我的响应方法,我只看到一个像预期的字段,但在邮递员响应中我有2个布尔字段:debugger view with Response.ok(getAddresses()).build()