Спящие символы @id @column не распознаются - PullRequest
0 голосов
/ 17 июля 2010

В своем классе User я пытаюсь добавить символы @id и столбец @.

Я получаю ошибку компиляции:

не могу найти идентификатор / столбец класса символов.

Я использую IDEA.

В документах я не вижу ссылок на @Id и @Column: http://docs.jboss.org/hibernate/stable/annotations/api/

У меня естьэто в моем pom.xml:

<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>

Ответы [ 3 ]

2 голосов
/ 17 июля 2010

Если вы хотите использовать реализацию JPA 1.0, вам нужны следующие зависимости:

<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>

Если вы хотите использовать реализацию JPA 2.0, просто замените org.hibernate.version на:

<properties>
  <org.hibernate.version>3.5.3-Final</org.hibernate.version>
</properties>

В обоих случаях приведенная выше зависимость от Hibernate даст вам все , что вам нужно, транзитивно.


Как вы могли заметить, Hibernate использует SLF4J, а Spring использует Jakarta CommonsЛогирование.Я предлагаю настроить Spring для использования SLF4J, а также объяснил в этом предыдущем ответе .

См. Также

2 голосов
/ 17 июля 2010

Java чувствительна к регистру. Это @Id и @Column. Кроме того, это аннотации JPA, то есть они не являются частью Hibernate, а являются Java EE (в пакете javax.persistence). Соответствующие аннотации Hibernate: @PrimaryKey и @Column из пакета org.hibernate.mapping.

0 голосов
/ 19 июля 2010

Что вам нужно, так это постоянная аннотация Java Вы можете добавить зависимость

javax.persistence: постоянство-API

Хотя добавление зависимости в диспетчер сущностей hibernate разрешит вас транзитивно, я все равно рекомендую добавить зависимости, которые вы действительно использовали в своем артефакте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...