Caused by: java.lang.NoSuchMethodError: javax.persistence.UniqueConstraint.name()Ljava/lang/String;
at org.hibernate.cfg.annotations.TableBinder.buildUniqueConstraintHolders(TableBinder.java:548)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:562)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3435)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3389)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1341)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1731)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1782)
at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:242)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:372)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:357)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
使用 ApplicationContext context = new ClassPathXmlApplicationContext("com/resources/spring-config.xml"); 时报的错,搞了好长时间,最后发现是 myeclipse自带的JAVA EE 5 Libraries中的javaee.jar与hibernate-jpa-2.0-api-1.0.0.Final.jar存在版本冲突,要么删了JAVA EE 5 Libaraies不用,要么将javaee.jar中的persitence目录删除。