【问题标题】:Netbeans / persistence API errorNetbeans /持久性API错误
【发布时间】:2010-11-05 07:02:57
【问题描述】:

我正在关注本教程,我正在使用 netbeans 6.5.1 http://www.netbeans.org/kb/docs/java/gui-db-custom.html

当我到达创建“来自数据库的新实体类”的部分时,该部分位于教程的“自定义主/详细视图”部分。我永远无法编译,因为我在任务列表中遇到了这个错误(我在运行时遇到了运行时错误)......至少我认为这两者是相关的。

错误命名查询只能在 Entity 或 MappedSuperclass 类上定义。 Country.java 27 C:/Users/Danny/dev/NetBeansProjects/Test/src/test 错误命名查询只能在 Entity 或 MappedSuperclass 类上定义。 Products.java 28 C:/Users/Danny/dev/NetBeansProjects/Test/src/test

请注意,我所做的只是从数据库中创建新的>实体类,并且完全按照教程中的说明进行操作。我在教程的“添加对话框”标题处停了下来,因为教程作者说应用程序应该是“部分功能的”,这让我认为它至少应该运行。我没有按照我的指示编辑生成的代码。

这是 netbeans 输出控制台产生的输出:

跑步: 2009 年 6 月 23 日下午 3:03:23 org.jdesktop.application.Application$1 运行 严重:应用程序类 test.TestApp 无法启动 javax.persistence.PersistenceException:没有名为 MyBusinessRecordsPU 的 EntityManager 的持久性提供程序:名为 oracle.toplink.essentials.PersistenceProvider 的提供程序在创建 EntityManagerFactory 时引发了意外异常: oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException 本地异常堆栈: 异常 [TOPLINK-30005](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException 异常描述:使用 ClassLoader 搜索持久性档案时引发异常:sun.misc.Launcher$AppClassLoader@11b86e7 内部异常:javax.persistence.PersistenceException:异常 [TOPLINK-28018](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit [MyBusinessRecordsPU] 的预部署失败。 内部异常:异常 [TOPLINK-7244](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:143) 在 oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:169) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:110) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) 在 test.TestView.initComponents(TestView.java:337) 在 test.TestView.(TestView.java:39) 在 test.TestApp.startup(TestApp.java:19) 在 org.jdesktop.application.Application$1.run(Application.java:171) 在 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:597) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 引起:javax.persistence.PersistenceException: 异常 [TOPLINK-28018] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit [MyBusinessRecordsPU] 的预部署失败。 内部异常:异常 [TOPLINK-7244](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:643) 在 oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.callPredeploy(JavaSECMPInitializer.java:171) 在 oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:239) 在 oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:255) 在 oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:155) ... 14 更多 原因:异常 [TOPLINK-28018] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit [MyBusinessRecordsPU] 的预部署失败。 内部异常:异常 [TOPLINK-7244](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:228) ... 19 更多 原因:异常 [TOPLINK-7244] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.exceptions.ValidationException.invalidMapping(ValidationException.java:1069) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataValidator.throwInvalidMappingEncountered(MetadataValidator.java:275) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.OneToManyAccessor.process(OneToManyAccessor.java:161) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.RelationshipAccessor.processRelationship(RelationshipAccessor.java:290) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProject.processRelationshipDescriptors(MetadataProject.java:579) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProject.process(MetadataProject.java:512) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.processAnnotations(MetadataProcessor.java:246) 在 oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:370) 在 oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:607) ... 18 更多 以下提供者: oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider 将 null 返回到 createEntityManagerFactory。 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:154) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) 在 test.TestView.initComponents(TestView.java:337) 在 test.TestView.(TestView.java:39) 在 test.TestApp.startup(TestApp.java:19) 在 org.jdesktop.application.Application$1.run(Application.java:171) 在 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:597) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 线程“AWT-EventQueue-0”java.lang.Error 中的异常:应用程序类 test.TestApp 无法启动 在 org.jdesktop.application.Application$1.run(Application.java:177) 在 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:597) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 原因:javax.persistence.PersistenceException:没有名为 MyBusinessRecordsPU 的 EntityManager 的持久性提供程序:名为 oracle.toplink.essentials.PersistenceProvider 的提供程序在创建 EntityManagerFactory 时引发了意外异常: oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException 本地异常堆栈: 异常 [TOPLINK-30005](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException 异常描述:使用 ClassLoader 搜索持久性档案时引发异常:sun.misc.Launcher$AppClassLoader@11b86e7 内部异常:javax.persistence.PersistenceException:异常 [TOPLINK-28018](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit [MyBusinessRecordsPU] 的预部署失败。 内部异常:异常 [TOPLINK-7244](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:143) 在 oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:169) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:110) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) 在 test.TestView.initComponents(TestView.java:337) 在 test.TestView.(TestView.java:39) 在 test.TestApp.startup(TestApp.java:19) 在 org.jdesktop.application.Application$1.run(Application.java:171) 在 java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:597) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 引起:javax.persistence.PersistenceException: 异常 [TOPLINK-28018] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit [MyBusinessRecordsPU] 的预部署失败。 内部异常:异常 [TOPLINK-7244](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:643) 在 oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.callPredeploy(JavaSECMPInitializer.java:171) 在 oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:239) 在 oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:255) 在 oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:155) ... 14 更多 原因:异常 [TOPLINK-28018] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit [MyBusinessRecordsPU] 的预部署失败。 内部异常:异常 [TOPLINK-7244](Oracle TopLink Essentials - 2.0.1(Build b09d-fcs (12/06/2007))):oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:228) ... 19 更多 原因:异常 [TOPLINK-7244] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.ValidationException 异常描述:在 [class test.Products] 和 [class test.Orders] 之间遇到不兼容的映射。这通常发生在映射的基数与其反向指针的基数不对应时。 在 oracle.toplink.essentials.exceptions.ValidationException.invalidMapping(ValidationException.java:1069) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataValidator.throwInvalidMappingEncountered(MetadataValidator.java:275) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.OneToManyAccessor.process(OneToManyAccessor.java:161) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.RelationshipAccessor.processRelationship(RelationshipAccessor.java:290) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProject.processRelationshipDescriptors(MetadataProject.java:579) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProject.process(MetadataProject.java:512) 在 oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.processAnnotations(MetadataProcessor.java:246) 在 oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:370) 在 oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:607) ... 18 更多 以下提供者: oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider 将 null 返回到 createEntityManagerFactory。 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:154) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) 在 test.TestView.initComponents(TestView.java:337) 在 test.TestView.(TestView.java:39) 在 test.TestApp.startup(TestApp.java:19) 在 org.jdesktop.application.Application$1.run(Application.java:171) ... 8 更多 构建成功(总时间:2 秒)

我在想我的 netbeans 应用程序一定是配置错误之类的,我似乎找不到和我有同样问题的人

【问题讨论】:

    标签: java netbeans persistence


    【解决方案1】:

    似乎是netbeans中的一个错误,我进行了全新安装,现在似乎可以工作了。

    【讨论】:

    • 我在 NetBeans 6.8 中遇到了同样的错误。该错误是否以某种方式重新引入?
    【解决方案2】:

    我遇到了同样的问题。 重新安装 - 同样的问题。 在默认设置下运行 Revo 卸载程序。 重新安装。 这一次,我在这个过程中尽快为国家和产品表创建了实体——紧跟在新建项目向导之后。 我不确定这是否有所作为,但这次一切都很好

    【讨论】:

      【解决方案3】:

      更新 Netbeans IDE 对我有用。我不需要全新安装。

      【讨论】:

        【解决方案4】:

        更新:此错误在 Netbeans 7.4 中仍然存在。
        企业应用程序的 -war (Web - ) 模块中的注释实体仍然会导致“只能定义命名查询...”错误,
        ejb 中的相同类 - 模块不会。
        显然,实体 - 类无论如何都应该驻留在此处,
        我一直在将它们移至 Web 模块以生成 JSF - 页面,但由于上述问题,这无法正常工作
        重新启动 ide 页面也可以从 EJB - 模块生成。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-03
          • 1970-01-01
          • 2023-03-11
          • 1970-01-01
          • 1970-01-01
          • 2017-11-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多