JSON 마샬링 및 언 마샬링을 위해 Jackson (jaxb)을 사용하고 있습니다.Jackson jaxb runtime은 지정된 필드에 대해 @XmlTransient annotation을 사용하지 않습니다.
사람 레코드가 나열되어있을 때 (보안 및 속도 문제) 주소 필드를 게으른 것으로 매핑하지 않으려면 여기에 예를 들어 주소 필드 XmlTransient를 주석으로 추가했습니다. 그러나 단일 사람 레코드가 반환되면 그 주소 필드가 매핑되기를 원하지만 주소를 열심히 가져 오는 것조차 jaxb는 여전히 매핑하지 않습니다. 주소 필드에 @XmlTransient가 주석으로 달릴 때이 동작을 변경하고 런타임에이 필드를 매핑 할 수있는 방법이 있습니까? Pinchy
public class Person implements Serializable {
@Column(nullable = false, length = 50)
private String username;
@OneToOne(fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
private Address address;
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
@XmlTransient
public Address getAddress() {
return this.address;
}
public void setAddress(Address address) {
this.address = address;
}
}
답장을 보내 주셔서 감사합니다.하지만 제가하고 싶은 것은 아닙니다. 내가 주소와 암호 필드를 무시하고 싶은 사람 객체의 목록을 반환하고 단일 객체를 반환 할 때 어떤 필드도 무시하고 싶지 않습니다. 변수를 중복하면 내 문제가 해결되지 않으며 나쁜 디자인입니다. – Pinchy