首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate符号“id”列不可识别

Hibernate符号“id”列不可识别
EN

Stack Overflow用户
提问于 2010-07-17 10:01:51
回答 3查看 4.1K关注 0票数 1

在我的User类中,我试图添加符号@id和@column。

我收到一个编译错误:

找不到符号类id/列。

我在用主意。

文档中,我没有看到任何关于@Id和@列的引用: http://docs.jboss.org/hibernate/stable/annotations/api/

我在我的pom.xml里有这个:

代码语言:javascript
复制
<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.14</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>org.perf4j</groupId>
            <artifactId>perf4j</artifactId>
            <version>0.9.13</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
        <dependency>
            <groupId>hibernate</groupId>
            <artifactId>hibernate</artifactId>
            <version>3.1rc2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-hibernate3</artifactId>
            <version>2.0.8</version>
        </dependency>
        <dependency>
            <groupId>hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.1beta4</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.1beta4</version>
        </dependency>


    </dependencies>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-17 13:12:12

如果要使用JPA1.0实现,则需要以下依赖项:

代码语言:javascript
复制
<properties>
  <org.hibernate.version>3.4.0.GA</org.hibernate.version>
</properties>
<repositories>
  <repository>
    <id>repository.jboss.org-public</id>
    <name>JBoss Public Repository Group</name>
    <url>https://repository.jboss.org/nexus/content/groups/public</url>
  </repository>
</repositories>
<dependencies>
  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>${org.hibernate.version}</version>
  </dependency>
  <!-- Hibernate uses slf4j for logging, we use log4j as backend -->
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
  </dependency>
</dependencies>

如果您想使用JPA2.0实现,只需将org.hibernate.version替换为:

代码语言:javascript
复制
<properties>
  <org.hibernate.version>3.5.3-Final</org.hibernate.version>
</properties>

在这两种情况下,上述Hibernate依赖将为您提供所需的一切。

正如您可能已经注意到的,Hibernate使用SLF4J,而Spring使用。我建议将Spring配置为使用SLF4J,并在此先前的回答中解释。

另请参阅

票数 2
EN

Stack Overflow用户

发布于 2010-07-17 10:07:47

Java区分大小写。是@Id@Column。另外,这些都是JPA注释,也就是说,它们不是Hibernate的一部分,而是Java (在javax.persistence包中)的一部分。对应的Hibernate注释是来自@PrimaryKey包的org.hibernate.mapping@Column

票数 2
EN

Stack Overflow用户

发布于 2010-07-19 06:59:22

您需要的是java的持久性注释,您可以添加

persistence:persistence-api

虽然将依赖项添加到hibernate实体管理器可以临时解决您的问题,但我仍然建议添加您在工件中真正使用过的依赖项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3271017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档