代码之家  ›  专栏  ›  技术社区  ›  walnutmon

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

  •  3
  • walnutmon  · 技术社区  · 14 年前

    我发现的每个示例都使用@Id,但是当我试图编写代码时,我以前使用的许多注释都消失了,有一些注释类似于@Index,并且@Entity参数也发生了变化。我已经浏览了Hibernate文档,但找不到任何关于更改所有注释的内容,所以我是不是在看一个假的版本?

    即使带有名称的@Column()也不见了,这非常令人困惑,我使用的是Hibernate3,但我发现很难相信它们经历并破坏了它们以前支持的所有注释。

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

    import org.hibernate.annotations.Entity;
    import org.hibernate.annotations.Table;
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   Pascal Thivent    14 年前

    我认为错误定义的类路径更可能出现在您这边,而不是一个虚假的版本。如果没有更多关于您正在使用的Hibernate版本的细节,以及类路径上的jar,我不知道要添加什么。

    更新: 我建议使用 JPA注释 在休眠注释上。下面是我在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
    
        2
  •  0
  •   matt b    14 年前

    不,注释没有改变。

    我们很难知道,如果你看的是一个假的版本,而不知道你的类路径上是什么。

    你确定吗 hibernate-annotations 在你的课上吗?以及装有 javax.persistence 类(例如 hibernate-jpa-2.0-api-1.0.0.Final.jar )?