gpt4 book ai didi

Java/JPA - 动态设置对象/实体的属性

转载 作者:行者123 更新时间:2023-12-03 20:25:18 25 4
gpt4 key购买 nike

我是 Java 的新手,如果有任何帮助,我将不胜感激!

我有一个充满这样产品的 XML 文件:

<product>
<title>Product Title</title>
<colour>Red</colour>
</product>

我有一个像这样的 JPA 实体:

@Entity
public Product extends Model {

public String title;
public String colour;

}

我可以像这样愉快地将 XML 解析为我的 JPA 对象:

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 元素名称与 Product 类中的属性名称直接匹配,所以我认为这样的事情会很完美:

public void parseElement(String elementName, String elementValue) {
product[elementName] = elementValue;
}

但是 Java 不喜欢这种表示法。我还能做些什么来获得类似的结果,还是我必须接受它并编写一个 collosal if-else 语句?

如有任何帮助,我们将不胜感激。

干杯!

最佳答案

Java 知道很多用于 XML 处理的框架。还有一些用于将对象序列化/反序列化为 xml 的库。我建议看看 JAXB .

关于Java/JPA - 动态设置对象/实体的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9892122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com