既存のデータベースからJPA2準拠の@Entityを生成するにはどうすればよいですか?.
私はこれを見つけました: 質問
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>
また、リソースのMETA-INFフォルダーにあるpersistence.xmlに次のプロパティを追加します。これらは、データベースへの接続を確立するために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ファイルを生成するには、mvn org.codehaus.mojo:exec-maven-plugin:Javaを使用してプロジェクトディレクトリでmavenゴールを起動するだけで、目的の場所にファイルが生成されます。
JPA2 のリバースエンジニアリングに関するこのトラックの分プロジェクトをご覧ください。ベンダーに依存しないツールです。リリース0.5.5では、以下を生成します。
私はH2でそれを試していませんが、これを行うにはあなたがする必要があります
Telosysは、おそらくこの種のコード生成の最も簡単な方法です。
(もちろん)JPAエンティティを生成し、完全に機能するWebアプリが必要な場合
Webサイトを参照してください: http://www.telosys.org
Netbeans IDEには、データベースからエンティティを生成するオプションがあります。
MinuteProjectは素晴らしいです。 JPA2のOracleスキーマからJavaクラスを生成しました。すべてを簡単に実行できます。minuteprojectのWebサイトに記載されている次のステップに従ってください:url: ここに行く
"テーブルからエンティティを生成する"オプションはH2データベースで機能しますか?スキーマリストは常にempty Generic JDBCドライバーを使用したH2データベースとの有効な接続セットアップがありますが、テーブルの選択ステップ。
同じ接続がhibernate-toolsのテーブルを表示しています。たとえば、エディターでリバースエンジニアリングxmlを作成すると、[テーブル]タブを更新して完全なリストを表示できます。代わりにコンソール構成を使用している可能性があるため、休止状態ツールが関連するかどうかはわかりません。
NetBeansユーザーの場合、neatbeansの優れたプラグインを入手できます http://plugins.netbeans.org/plugin/53057/jpa-modeler
このビデオでは、その使用方法を示します https://www.youtube.com/watch?v=TDbZ5EGpvoY
NetBeansのメニューからインストールできますTools-> Plugins
それは私のためにうまく機能します。