javax.persistence.Table.indexes()[Ljavax/persistence/Index;

http://blog.csdn.net/zys_hh/article/details/20721261
在Hibernate 4.3中如果使用了@Table注解,在获取session的时候会抛出如下异常
Exception in thread "main" java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:936)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:781)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3762)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3716)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
at util.HiberUtils.<clinit>(HiberUtils.java:16)

解决办法:

方法一:

如果你是WEB开发,则可以忽略这个异常。直接在jsp页面操作



方法二:

将@Table(name = "user", catalog = "forum") 改成@Entity(name = "user")

方法三:

将java EE 6.0  换成java EE 7.0


我的是加了
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-persistence</artifactId>
<version>2.2.2</version>
</dependency>
这个依赖,注释掉就可以了。

猜你喜欢

转载自panyongzheng.iteye.com/blog/2072250
今日推荐