您可以使用类似 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>
要生成实体文件,只需在项目目录中使用mvn org.codehaus.mojo:exec-maven-plugin:java命令启动Maven目标,并在所需位置生成文件。
<additionalClasspathElements><additionalClasspathElement>.</additionalClasspathElement></additionalClasspathElements>
添加类路径,并将持久性放置在META-INF/persistence.xml中。 - Pool<openjpa-2.4.2-r422266:1777108 致命用户错误> org.apache.openjpa.util.UserException: 持久性提供程序正在尝试使用持久性.xml文件中的属性来解析数据源。在 openjpa.ConnectionDriverName 或 javax.persistence.jdbc.driver 属性中必须指定 Java 数据库连接 (JDBC) 驱动程序或数据源类名。以下属性在配置中可用:"org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@ce8c062f"
- Beto Neto你应该查看一下 minuteproject,它可以用于JPA2反向工程。
这是一个独立于供应商的工具。在版本 0.5.5 中,它生成:
我没有尝试过与 H2 一起使用,但需要做以下操作:
MinuteProject非常棒。我使用它轻松地从Oracle模式生成了JPA2的Java类。按照minuteproject网站上给出的步骤进行操作,这里是网址:点击这里
如果你是NetBeans的用户,我在NetBeans中找到了一个很棒的插件,http://plugins.netbeans.org/plugin/53057/jpa-modeler
这个视频演示了如何使用它 https://www.youtube.com/watch?v=TDbZ5EGpvoY
可以从NetBeans的菜单工具->插件中安装它。
对我来说它运行得很好。
"从表生成实体"选项是否适用于H2数据库?即使我使用通用JDBC驱动程序建立了有效的H2数据库连接,但我总是发现在选择表步骤中模式列表为空。
相同的连接在hibernate-tools中显示表。例如,当我在其编辑器中创建反向工程xml时,我可以刷新表选项卡并查看完整列表。我不知道hibernate工具是否相关,因为它可能正在使用控制台配置。