Java 有时获取PersistenceException:EntityManager没有持久性提供程序

Java 有时获取PersistenceException:EntityManager没有持久性提供程序,java,jpa,netbeans,persistence,derby,Java,Jpa,Netbeans,Persistence,Derby,关于这个PersistenceException有很多问题,但我没有看到一些问题,其中特定的代码行只是偶尔抛出这个异常,而不是随机抛出:- 那么,你知道吗,为什么我的简单应用程序一旦找到了合适的提供商,但后来却找不到 NetBeans IDE 7.0.1,NetBeans平台应用程序,使用持久性链接库和Derby embbed 我正在尝试,但在保存新行程时出现PersistenceException: at javax.persistence.Persistence.createEntityMa

关于这个PersistenceException有很多问题,但我没有看到一些问题,其中特定的代码行只是偶尔抛出这个异常,而不是随机抛出:-

那么,你知道吗,为什么我的简单应用程序一旦找到了合适的提供商,但后来却找不到

NetBeans IDE 7.0.1,NetBeans平台应用程序,使用持久性链接库和Derby embbed

我正在尝试,但在保存新行程时出现PersistenceException:

at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
at org.mv.mm.api.TripSearchDAO.createTransactionalEntityManager(TripSearchDAO.java:61)
at org.mv.mm.api.TripSearchDAO.create(TripSearchDAO.java:41)
at org.mv.mm.api.TripQuery$3.create(TripQuery.java:69)
[catch] at org.mv.mm.api.TripType.create(TripType.java:64)
但在DAO类的搜索方法中,也调用了这个私有方法createTransactionalEntityManager,并且正确地创建了EntityManager。为什么会这样


好的,这个问题和这里的许多其他问题一样,我还没有解决它,但我明天会再试一次。每次都失败了。我看错了try-catch块,因此没有注意到异常。每次调用Persistence.createEntityManager工厂Trippu.createEntityManager时都会发生此问题。

在我看来,这个问题得到了回答: PersistenceException只是偶尔出现的原因是,在另一次,似乎一切正常时,有问题的一行:

em = Persistence.createEntityManagerFactory("TripPU").createEntityManager();

从try的另一个类调用。。。catch块,其中catch块不执行任何操作。因此,我没有注意到它总是失败。

并且也找到了真正问题的真正解决方案:在这些情况下,确实要检查persistence.xml(如TripPU)中持久化单元的名称,如果它与调用persistence.createEntityManagerFactoryTripPU.createEntityManager的名称正确


PU与DB实体不同,因此当您尝试执行稍微不同的示例、不同的表等操作时,可能会混淆教程。

在您发布的异常和链接的代码之间有些不符。跟踪显示在TripSearchDAO.java的第61行抛出异常,这是链接代码中的一个空格式行……是的,当然,我的代码有点不同。实际上,它是第52行:em=Persistence.createEntityManager工厂Trippu.createEntityManager;管理员:我不知道,根据Stackoverflow的政策,我这样结束我的问题是有道理的。也许从这个问题中产生另一个问题,或者在已经回答过的类似问题中找到解决方案。这一个是有用的,谁会做类似的教程和遇到的问题,这只是偶尔发生。因此,我不认为重命名所有问题并重写整个问题对他们非常有用。不,对我来说,这个话题完全结束了。