Ответ 1
Вы можете использовать плагин как Eclipse Dali, чтобы сделать трюк для вас. Вы можете обратиться к документации, раздел 3.11 Создание объектов из таблиц.
Я не знаю какого-либо конкретного независимого от поставщика инструмента для этого.
Как я могу сгенерировать JPA2-совместимый @Entity из существующих баз данных?.
Я нашел это: Question
По-прежнему неясно, будет ли JBoss генерировать совместимый JPA2, а также я хотел бы знать, есть ли независимый способ поставщика, чтобы сделать это.
Вы можете использовать плагин как Eclipse Dali, чтобы сделать трюк для вас. Вы можете обратиться к документации, раздел 3.11 Создание объектов из таблиц.
Я не знаю какого-либо конкретного независимого от поставщика инструмента для этого.
Попробуйте использовать инструменты OPENJPA для обратного отображения. Они предлагают гораздо больше возможностей и легко настраиваются. Этот пример пояснит.
Если вы используете maven в качестве инструмента сборки, добавьте эту запись в свой pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<mainClass>org.apache.openjpa.jdbc.meta.ReverseMappingTool</mainClass>
<commandlineArgs>
-directory src/main/java -accessType fields
-useGenericCollections true -package org.yourproject.model
-metadata none -annotations true
-innerIdentityClasses false -useBuiltinIdentityClass false
-primaryKeyOnJoin false
</commandlineArgs>
<includePluginDependencies>true</includePluginDependencies>
</configuration>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.CR3</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-all</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
</plugin>
Также добавьте следующие свойства в файле persistence.xml, который находится в вашей папке META-INF ваших ресурсов. Они будут использоваться средством openjpa для установления соединения с базой данных.
<properties>
<property name="openjpa.ConnectionUserName" value="${db.username}"/>
<property name="openjpa.ConnectionPassword" value="${db.password}"/>
<property name="openjpa.ConnectionURL" value="${db.url}"/>
<property name="openjpa.ConnectionDriverName" value="${db.driver.class}"/>
</properties>
Чтобы сгенерировать файлы Entity, просто запустите цель maven в каталоге проекта, используя mvn org.codehaus.mojo: exec-maven-plugin: java, и он будет генерировать файлы в нужном месте.
Вы должны посмотреть на minuteproject на этой дорожке обратного проектирования для JPA2. Это независимый от поставщика инструмент. В выпуске 0.5.5 он генерирует:
Я не пробовал это с H2, но для этого вам нужно
В среде IDE Netbeans есть опция для генерации сущностей из базы данных.
Вам следует попробовать MinuteProject:
http://minuteproject.wikispaces.com/
http://javacodesamples.wordpress.com/2011/02/04/jpa2-reverse-engineering-tool/
Инструменты Telosys, вероятно, самый простой способ генерации кода.
Он генерирует сущности JPA (конечно), и если вы хотите полностью использовать веб-приложение См. Учебники: https://sites.google.com/site/telosystutorial/
(другие сайты: http://tools.telosys.org/, http://marketplace.eclipse.org/content/telosys-tools)
Eclipse предоставляет эту функцию в течение некоторого времени (создание от Dali, включенное с версии Kepler). Просто щелкните правой кнопкой мыши проект JPA → Инструменты JPA → Создать объекты из таблиц:
MinuteProject - это потрясающе. Я создал Java-классы из схемы Oracle для JPA2. И все это с большой легкостью. Следуйте за шагами, приведенными на веб-сайте minuteproject, вот URL: перейти сюда
Используется ли опция "сгенерировать объекты из таблицы" для базы данных H2? Я всегда вижу, что список схем пустой на шаге "Выбрать таблицы", даже если у меня есть правильная настройка соединения с базой данных H2, используя Общий драйвер JDBC.
То же соединение показывает таблицы в спящих инструментах. Например, когда я создаю обратный инженерный xml в своем редакторе, я могу обновить вкладку таблиц и увидеть полный список. Я не знаю, насколько важны инструменты гибернации, поскольку вместо этого можно использовать конфигурацию консоли.
Если вы пользователь netbeans, я получаю отличный плагин в neatbeans, http://plugins.netbeans.org/plugin/53057/jpa-modeler
Это видео демонстрирует, как его использовать https://www.youtube.com/watch?v=TDbZ5EGpvoY
Он может быть установлен из меню NetBeans Инструменты- > Плагины
Это отлично работает для меня.