我有 3 个实体类和更多的东西。我想创建一个工具,用户可以在其中创建新的实体类和/或向现有的 3 个实体类添加额外的字段,包括 JPA 注释(例如扩展它们)。该工具应该使用某种文本格式(如 xml)并从该配置文件生成类。
JAXB 是解决此问题的正确工具吗?
由于我对此完全陌生,有人可以为我指出一个教程吗?请注意,我不想序列化对象,而是从 xml 文件创建一个新类。
如果您的工具可以使用 xml,那么 JAXB 是生成 Java 类的不错选择。JAXB 可以将 xml 转换为模式,然后生成类。这是一篇有用的文章,可以帮助您了解 JAXB 的工作原理,并且可以帮助您了解它如何解决您的问题:
http://www.javaworld.com/javaworld/jw-06-2006/jw-0626-jaxb.html
注意:我是EclipseLink JAXB (MOXy)负责人,也是JAXB (JSR-222)专家组的成员。
EclipseLink JPA提供可扩展实体,可通过其 XML 映射文件添加。通过采用属性名称的通用 get/set 方法访问虚拟属性。
@Entity
@VirtualAccessMethods
public class Customer{
// Real Properties
...
// Code for Virtual Properties
@Transient
private Map<String, Object> extensions;
public <T> T get(String name) {
return (T) extentions.get(name);
}
public Object set(String name, Object value) {
return extensions.put(name, value);
}
}
了解更多信息