今天学习hibernate注解,在用javax.persistence.Table这个注解时遇到了问题。错误如下:
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:824)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3790)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3744)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
上网搜了一下,将
@Entity
@Table(name="teachers")
改为
@Entity(name="teachers")
就解决了。
第一种写法也是看文档中的,实在无奈了,看来不能迷信官方,但总的来说,hibernate的文档还是非常不错的。