私は比較的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以上のフィールドがあり、2つだけではありません。私は50 +節のif-else文を書くことができましたが、より良い選択肢のためにここでチェックする価値があると思いました!
XML要素名が直接製品クラスのプロパティ名に一致するように、私はこのようなものは完璧だろうと思った:
public void parseElement(String elementName, String elementValue) {
product[elementName] = elementValue;
}
しかし、Javaはその表記が好きではありません。私はそれが似たような結果を達成するために何かできることがあるのでしょうか、それを吸い取ってif-else文を書く必要がありますか?
ご協力いただければ幸いです。
乾杯!
受諾された回答は、当時の問題の最適な解決策でした。数ヶ月後には、示唆された図書館を試してみる価値があり、提案はすばらしかった。私は現在XStreamに移植しています。乾杯! –