java有时会获取PersistenceException:EntityManager没有持久性提供程序
关于这个PersistenceException有很多问题,但我没有看到一些问题,其中特定的代码行只是偶尔抛出这个异常(但不是随机的:-)
那么,你知道吗,为什么我的简单应用程序一旦找到了合适的供应商,但后来却找不到
NetBeans IDE 7.0.1,NetBeans平台应用程序,使用持久性链接库和Derby embbed
我正在尝试this CRUD creatable capabilities "tutorial" by Geertjan,但在保存新行程时,我遇到了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类的“search”方法中,也调用了这个私有方法createTransactionalEntityManager,并且正确地创建了EntityManager。为什么会这样
好的,这个问题和这里的许多其他问题类似(嗯,我还没有解决它,但我明天会再试一次)。每次都失败了。我看错了try-catch块,所以没有注意到异常。每次持久化都会发生。CreateEntityManager工厂(“TripPU”)。调用createEntityManager()
# 1 楼答案
真正问题的真正解决方案也被找到了:在这些情况下,确实要检查持久化中持久化单元的名称。xml(比如TripPU),如果它对调用持久性是正确的。CreateEntityManager工厂(“TripPU”)。createEntityManager()
PU与DB实体不同,所以当你尝试做一些不同的例子(不同的表等)时,教程可能会让你感到困惑
# 2 楼答案
在我看来,这个问题的答案是: PersistenceException只偶尔出现的原因是,另一次,似乎一切正常,有问题的一行:
从try的另一个类调用。。。catch块,其中“catch”块不做任何事情。所以我没有注意到它总是失败