Как создать метамодель JPA 2.0?
в духе безопасности типа, связанного с CriteriaQuery JPA 2.0 также имеет API для поддержки Метамодель представительства субъектов.
кто-нибудь знает о полнофункциональной реализации этого API (для создания метамодели, а не для создания классов метамодели вручную)? Было бы здорово, если кто-то и знает шаги настройки в Eclipse (я предполагаю, что это так же просто, как настройка обработчика, но никогда не знаешь).
изменить:
Просто наткнулся Hibernate JPA 2 Metamodel Generator . Но проблема остается, так как я не могу найти никаких ссылок для загрузки jar.
редактировать 2:
Прошло некоторое время с тех пор, как я задал этот вопрос, но я думал, что вернусь и добавлю ссылку на Hibernate JPA Model Generator project на SourceForge
5 ответов:
было бы здорово, если кто-то также знает шаги для настройки этого в Eclipse (я предполагаю, что это так же просто, как настройка процессора аннотаций, но вы никогда не знаете)
пересмотрено (март / 2014)
пожалуйста, взгляните на jpa-metamodels-with-maven
Hibernate
наиболее рекомендуется использовать Hibernate.
(я не осуждаю какие-либо функции/функции/полезностей/stabilites на этих реализаций. И приведенное выше утверждение сосредоточено только на использовании maven, которое я построил.)
<plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId> <executions> <execution> <id>process</id> <goals> <goal>process</goal> </goals> <phase>generate-sources</phase> <configuration> <processors> <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor> </processors> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-jpamodelgen</artifactId> <version>4.3.4.Final</version> </dependency> </dependencies> </plugin>OpenJPA
объектом openjpa, кажется, требуют дополнительных элементов
<openjpa.metamodel>true<openjpa.metamodel>.<plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId> <executions> <execution> <id>process</id> <goals> <goal>process</goal> </goals> <phase>generate-sources</phase> <configuration> <processors> <processor>org.apache.openjpa.persistence.meta.AnnotationProcessor6</processor> </processors> <optionMap> <openjpa.metamodel>true</openjpa.metamodel> </optionMap> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa</artifactId> <version>2.3.0</version> </dependency> </dependencies> </plugin>EclipseLink
EclipseLink требует
persistence.xml.<plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId> <executions> <execution> <id>process</id> <goals> <goal>process</goal> </goals> <phase>generate-sources</phase> <configuration> <processors> <processor>org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor</processor> </processors> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId> <version>2.5.1</version> </dependency> </dependencies> </plugin>========================================
для пользователей Apache Maven,
следующая простая конфигурация кажется работой. (со старым Maven-компилятор-плагин; обновлено.)
<!-- This method doesn't work with newest maven-compiler-plugin --> <!-- But if it's ok to work with old maven-compiler-plugin --> <!-- This is the best method --> <!-- There is no other required configurations --> <!-- We don't even require to config any processor names --> <project> <build> <extensions> <extension> <groupId>org.hibernate</groupId> <artifactId>hibernate-jpamodelgen</artifactId> <version>1.3.0.Final</version> </extension> </extensions> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <!-- this is critical --> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> </project>вы можете запустить его с помощью "mvn compiler: compile"
обновление
обратите внимание, что это метод работает только с теми старыми Мейвен-плагин компилятора. Проверьте версию в коде.
поддержка JPA 2.0 Eclipse через Dali (которая включена в "Eclipse IDE для разработчиков JEE") имеет свой собственный генератор метамодели, интегрированный с Eclipse.
- выберите свой проект в "Проводник Пакетов"
- на свойства ->JPA
для eclipselink достаточно только следующей зависимости для создания метамодели. Больше ничего не нужно.
<dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId> <version>2.5.1</version> <scope>provided</scope> </dependency>
для гибернации в качестве поставщика, который является наиболее распространенным IMHO:
в случае инструментов сборки, таких как Gradle, Maven вам нужно иметь Hibernate JPA 2 Metamodel Generator jar в пути к классам и уровне компилятора>=1.6 это все, что вам нужно построить проект, и метамодель будет сгенерирована автоматически.
в случае интегрированной среде разработки Eclipse 1. перейти проект- > свойства - > компилятор Java - > обработка аннотаций и включить его. 2. Разверните обработка аннотаций - >путь к заводу-> добавить внешнюю банку добавить Hibernate JPA 2 Metamodel Generator jar проверьте недавно добавленную банку и скажите "ОК". Чистый и построить сделано!
ссылка гибернации СПД 2 Метамодель генератор банку ссылке из репозитория Maven https://mvnrepository.com/artifact/org.hibernate/hibernate-jpamodelgen
Comments