我有IBM Websphere 8.5.5.10。和hibernate-jpa-2.0-api-1.0.0.Final.jar是一个默认的jar。但是,我想使用更新的版本 - >冬眠-JPA-2。的 1 -API-1.0.0.Final.jar。 我设置“首先加载本地类加载器的类(父类最后一个)”和“应用程序的单个类加载器”。尽管如此,我收到以下错误:
Caused by: java.lang.NoSuchMethodError: javax/persistence/Table.indexes()[Ljavax/persistence/Index;
...
Delegation Mode: PARENT_FIRST).
at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:973) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
...
看起来发生此错误是因为先加载了旧/父的jar。也。请注意,委托模式是PARENT_FIRST,尽管我定义了不同的。我检查了很多次我的类加载器定义,重新启动应用程序甚至服务器并始终相同:(
有人可以帮忙吗?
答案 0 :(得分:2)
这已在几篇文章中讨论过,请查看this。您不能以容器管理的方式使用JPA 2.1和WAS 8.5.5.x,因为它只支持2.0。您必须升级到WAS 9.0,切换到WebSphere Liberty,或者以应用程序管理的方式使用JPA。