【发布时间】:2018-10-02 17:14:03
【问题描述】:
我知道这个问题已经有了答案,但我无法解决我的问题。
我在类路径中有 hibernate-commons-annotations-5.0.1.Final.jar、hibernate-core-4.3.5.Final.jar、hibernate-jpa-2.1-api-1.0.0.final.jar。
以下是我的 HibernateUtil 代码:
public class HibernateUtil {
private static SessionFactory sessionAnnotationFactory;
private static SessionFactory buildSessionAnnotationFactory() {
try {
// Create the SessionFactory from hibernate-annotation.cfg.xml
Configuration configuration = new Configuration();
configuration.configure("hibernate-annotation.cfg.xml");
System.out.println("Hibernate Annotation Configuration loaded");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
System.out.println("Hibernate Annotation serviceRegistry created");
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionAnnotationFactory() {
if (sessionAnnotationFactory == null) sessionAnnotationFactory = buildSessionAnnotationFactory();
return sessionAnnotationFactory;
}
}
我仍然收到以下错误:
初始 SessionFactory 创建失败.java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
引起:java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;在 org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:936) 在 org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:824) 在 org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3788) 在 org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3742) 在 org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844) 在 net.deldot.util.HibernateUtil.buildSessionAnnotationFactory(未知 来源)在 net.deldot.util.HibernateUtil.getSessionAnnotationFactory(未知 来源)
如果有帮助,我正在使用 IntelliJ。它不是一个 Maven 项目。我没有使用jboss。没有 glassfish jars。我读过其他答案说这个错误是由于 hibernate-jpa-2.1-api-1.0.0.final.jar 和 hibernate-jpa-2.0-api-1.0.0.final.jar 冲突而发生的.但是我在项目中的任何地方都没有看到 hibernate-jpa-2.0 jar。我不知道哪个 jar 与 hibernate-jpa-2.1 jar 冲突。如何检查?
【问题讨论】:
标签: hibernate