我有两个jpa实体:
@Entity
public class Contact {
@Id
private Long id;
}
和
@Entity
@XmlRootElement(name = "APPLICATION")
@XmlAccessorType(XmlAccessType.FIELD)
public class Application {
@Id
@JsonProperty("APPLICATION_ID")
@XmlElement(name = "APPLICATION_ID")
private Long id;
@ManyToOne
@JoinColumn(name = "contact_id", nullable = false)
@JsonProperty("CONTACT_ID")
@XmlElement(name = "CONTACT_ID")
private Contact contact;
所以在我的控制器中,我正在获取这样的应用程序的json或xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<APPLICATION>
<APPLICATION_ID>6</APPLICATION_ID>
<CONTACT_ID>
<id>1</id>
</CONTACT_ID>
</APPLICATION>
但我需要
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<APPLICATION>
<APPLICATION_ID>6</APPLICATION_ID>
<CONTACT_ID>1</CONTACT_ID>
</APPLICATION>
或者在json中,我有:
{
"APPLICATION_ID": 6,
"CONTACT_ID": {
"id": 1
}
但需要:
{
"APPLICATION_ID": 6,
"CONTACT_ID": 1,
}
我如何仅获取applicationID?所有的getter,constructor和setter都由lombok添加。
答案 0 :(得分:0)
使用龙目岛,这意味着您还生成了吸气剂。如果仅需要ID,请使用以下内容映射联系人json:
@Data
public class Contact {
@JsonValue
private Long id;
}
这将使json使用id作为整个序列化值。
对于xml映射,我认为您必须实现@XmlJavaAdapter