我正在使用 Eclipse Juno、Hibernate 4.0 和 MSSQL 2008。我已经创建了一个数据库,并且刚刚在 Eclipse 中完成了“表中的 JPA 实体”过程。大约一半的表没有被创建(即使我选择了那些表),但是这些类被添加到了 persistence.xml。
有没有其他人遇到过这个问题?你有解决方案吗?
在我的例子中,数据库是 Oracle XE。所以我的情况有点不同,但可能对某人有帮助。
找出问题的最佳方法是检查 $workspace_location/.metadata/.log 文件中存在的工作区日志。就我而言,我发现有3个问题:
1) 原因:java.io.FileNotFoundException: $MiddlewarePath\oracle_common\modules\oracle.adf.share_11.1.1\adfsharembean.jar (访问被拒绝)
2) 原因:java.io.FileNotFoundException: $MiddlewarePath\oracle_common\modules\oracle.ldap_11.1.1\jremtool.jar (访问被拒绝)
3) !MESSAGE Unable to find JPA entity generation templates in pluginorg.eclipse.jpt.jpa.gen !STACK 1 Java Model Exception: Core Exception [code 275] A resource exists with a different case: '/TestJPAProjectFacetsEJB/src/main/ java/com/domainname/ejb/TestJPAProjectFacets'。
因此,我做了以下事情:
1) 为 jar 文件提供访问权限 2) 当我生成实体时,我将包名称指定为 com/domainname/ejb/testjpaprojectfacets/model。但我已经有一个包 com/domainname/ejb/TestJPAProjectFacets 因此出现错误。然后,我将现有的包重命名为全小写(com/domainname/ejb/testjpaprojectfacets)并且它起作用了。
谢谢,桑杰
My workaround was to use the JTDS JDBC Driver to connect to SQL Server database instead of the Microsoft SQL Server JDBC Driver
这听起来像 Eclipse DTP 错误282206。Dali(提供您正在使用的实体生成向导的 Eclipse 项目)依赖 Eclipse DTP 项目从各种数据库服务器检索生成实体所需的元数据。您正在使用的 MS SQL Server“驱动程序”(即 DTP 用于使 MS SQL JDBC 驱动程序适应 DTP SPI 接口的插件 - 默认情况下,此插件是org.eclipse.datatools.enablement.msft.sqlserver...
- DTP 开发人员喜欢有点混乱将这些插件称为“驱动程序”....)返回给 Dali 的元数据中存在错误,导致 Dali 无法生成实体。
我也遇到过这个问题。
我的解决方法 - 在 MySQL 中创建数据库并从那里生成实体。生成的实体类也适用于 SQL Server。没有遇到任何其他副作用(到目前为止)