我有一个游戏框架应用程序,我是使用Hibernate 4.2.5.Final(这是通过Maven的依赖管理检索).我决定升级到Hibernate 4.3.0.Final,成功重新编译我的应用程序,然后运行它.
我在下面得到了例外,并且无法找出原因.我降级回4.2.5,这个问题没有发生.然后,我尝试在4.2.5之后使用每个Final版本升级Hibernate.也就是说,我从4.2.5.Final到4.2.6.Final,到4.2.7.Final,到4.2.8.Final再到4.3.Final.直到我升级到4.3.0.Final才会出现此问题.
Java版本信息
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Run Code Online (Sandbox Code Playgroud)
例外:
play.api.UnexpectedException: Unexpected exception[NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:152) ~[play_2.10.jar:2.2.1]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:112) ~[play_2.10.jar:2.2.1]
at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:112) ~[play_2.10.jar:2.2.1]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:110) ~[play_2.10.jar:2.2.1]
at scala.util.Success.flatMap(Try.scala:200) ~[scala-library.jar:na]
Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:936) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:781) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3762) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3716) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
Run Code Online (Sandbox Code Playgroud) 我想迭代一个数组,运行一个计算,如果条件为结果为真,则返回一个新对象. _.filter(...)在这里不起作用,因为迭代器函数必须返回true或者false.
_.map(people, function(person) {
var age = calculateAge(person.birthDate);
if (age > 50) {
return {person: person, age: age};
}
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试过全面搜索,包括文档,但我还没有找到一种方法来做到这一点.