2013-05-22 4 views
1

У меня есть 3 класса сущностей и многое другое. Я хочу создать инструмент, в котором пользователь может создавать новые классы сущностей и/или добавлять дополнительные поля к существующим 3 классам сущностей, включая аннотации JPA (например, расширять их). Инструмент должен использовать какой-то текстовый формат (например, xml) и генерировать классы из этого файла конфигурации.Создание и расширение классов сущностей JPA во время выполнения из файла конфигурации

Является ли JAXB правильным инструментом для этого?

Поскольку я совершенно новичок в этом, кто-то может указать мне на учебник для этого? Обратите внимание: я не хочу сериализовывать объекты, но создаю новый класс из xml-файла.

ответ

0

Если ваш инструмент может использовать xml, JAXB является хорошим выбором для создания ваших классов Java. JAXB может преобразовать xml в схему и затем сгенерировать классы. Вот полезная статья, чтобы понять, как работает JAXB, и это может помочь вам понять, как это может решить вашу проблему:

http://www.javaworld.com/javaworld/jw-06-2006/jw-0626-jaxb.html

0

Примечание: Я 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); 
    } 

} 

Для получения более подробной информации

+0

Я знаю, что я написал JPA, но на самом деле мое приложение использует Hibernate и 1 решающее функциональность зависит от него. –

Смежные вопросы