저는 Java에 비교적 익숙하며 이에 대한 도움을 주셔서 감사합니다!Java/JPA - 객체/엔티티의 속성을 동적으로 설정합니다.
이 같은 제품의 전체 XML 파일이 있습니다
<product>
<title>Product Title</title>
<colour>Red</colour>
</product>
을 그리고 나는이 같은 JPA 엔티티가 :
@Entity
public Product extends Model {
public String title;
public String colour;
}
을 그리고 행복하게처럼 내 JPA 객체로 XML을 구문 분석 할 수 이 :
public void parseElement(String elementName, String elementValue) {
if (elementName == "title") {
product.title = elementValue;
}
else if (elementName == "colour") {
product.colour = elementValue;
}
}
그러나 문제 제품 당 50 개가 넘는 필드가 있다는 것입니다. 50 개 이상의 절을 if-else 문으로 작성할 수 있지만 더 나은 대안을 먼저 확인해 볼 가치가 있다고 생각했습니다! XML 요소 이름은 직접 제품 클래스의 속성 이름에 일치하는 것으로
, 나는이 완벽 할 것 같은 것을 생각 :public void parseElement(String elementName, String elementValue) {
product[elementName] = elementValue;
}
을하지만 자바는 표기법을 좋아하지 않는다. 비슷한 결과를 얻을 수있는 다른 방법이 있습니까? 아니면 그것을 빨아 내고 collosal if-else 문을 써야합니까?
도움을 주시면 감사하겠습니다.
건배!
허용되는 답변은 당시 문제의 해결 방법이었습니다. 몇 달 후, 제안 된 라이브러리를 시험 사용해 볼 가치가있는 변경 사항이 요청되었고 제안 사항에 대한 감사의 말을 전했습니다. 이제는 XStream으로 이식하려고합니다. 건배! –