@JsonIgnore
을 사용하면 표시된 속성을 완전히 무시할 수 있습니다. 현명한 주석 나는 "lodaded 경우"옵션이 있다고 생각하지 않습니다.
물론 할 수있는 것은 유형을 확인하고 진행 방법을 결정하는 자체 마샬 러를 작성하는 것입니다.
다음 몇 가지 주석을 추가하여 해당 유형을 직렬화하는 데 사용되는 사용자 정의 데이터 형식
public class PropertyValueSerializer extends JsonSerializer<PROPERTY_VALUE> {
@Override
public void serialize(PROPERTY_VALUE property_value, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
jsonGenerator.writeStartObject();
jsonGenerator.writeFieldName(property_value.getKey());
jsonGenerator.writeString(property_value.getValue());
jsonGenerator.writeEndObject();
}
}
에 대한 serializer를 작성 : 사용자 정의 직렬 당신에게 완벽하게 제어 할 수 있습니다
@JsonSerialize(using = PropertyValueSerializer.class)
@JsonDeserialize(using = PropertyValueDeserializer.class)
public class PROPERTY_VALUE implements Serializable{
private String key;
private String value;
,하지만 좀 더 물론이다 간단한 어노테이션보다 구현이 쉽다.
답장을 보내 주셔서 감사합니다. 만약 내가 잘 이해한다면, 나는 키와 값 속성을 가진 내 자신의 persistentBag를 만들어야 만한다. 최대 절전 모드 persistentBag 대신 데이터베이스 결과 (깊은 해킹없이 가능하다면)에 대한 내 자신을 가져와야합니다. 그런 다음 사용자 지정 마샬 러에서 직렬화 프로세스를 처리하는 방법을 지정할 수 있습니다. – Mostrapotski
내 조정 된 persistentBag를 사용하여 최대 절전 모드를 만드는 방법을 모르기 때문에 반사를 사용하는 것이 쉽지 않을지 궁금합니다. – Mostrapotski
아니요, 영구적 인 가방을 만들지는 않을 것입니다. 그렇기 때문에 영구 가방이있는 유형의 사용자 정의 직렬기를 작성합니다. 액세스 할 수 있고 따라서 직렬화되었는지 여부를 확인할 수 있습니다. –