Hibernate:我错过了什么?找不到@Id,而是@Index

时间:2010-07-12 15:45:39

标签: java hibernate orm

我发现的每个例子都使用@Id,但是当我尝试编写代码时,我习惯的许多注释都消失了,有@Index这样的注释,而且@Entity参数已经改变了。我查看了Hibernate文档,找不到任何关于更改所有注释的内容,所以我在查看虚假版本吗?

即使带有名字的@Column()也不见了,这是非常令人困惑的,我正在使用Hibernate 3,但我发现很难相信它们经历了并打破了他们过去支持的每个注释。

我下载了最新版本的Hibernate3.jar,这就是我所包含的内容,通过JAR我看到了注释包

import org.hibernate.annotations.Entity;
import org.hibernate.annotations.Table;

2 个答案:

答案 0 :(得分:2)

我认为错误定义的类路径比伪造版本更有可能。没有关于你正在使用的Hibernate版本的更多细节,你在类路径上有的JAR,我不知道要添加什么。

更新:我建议使用 JPA注释而不是Hibernate注释。以下是我使用最新版本的Hibernate实体管理器的依赖项:

org.hibernate:hibernate-entitymanager:jar:3.5.3-Final:compile
+- org.hibernate:hibernate-core:jar:3.5.3-Final:compile
|  +- antlr:antlr:jar:2.7.6:compile
|  +- commons-collections:commons-collections:jar:3.2:compile
|  +- dom4j:dom4j:jar:1.6.1:compile
|  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
|  \- javax.transaction:jta:jar:1.1:compile
+- org.hibernate:hibernate-annotations:jar:3.5.3-Final:compile
|  \- org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile
+- cglib:cglib:jar:2.2:compile
|  \- asm:asm:jar:3.1:compile
+- javassist:javassist:jar:3.9.0.GA:compile
\- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Final:compile

答案 1 :(得分:0)

不,注释没有改变。

我们很难知道你是否在不知道你的类路径上是什么时看到一个虚假的版本。

您确定hibernate-annotations在您的类路径上吗?以及包含javax.persistence类的JAR(例如hibernate-jpa-2.0-api-1.0.0.Final.jar)?