Eclipse сообщает об ошибке в моем проекте JPA - PullRequest
12 голосов
/ 23 октября 2011

Каждый раз, когда я делаю проект JPA, Eclipse сообщает, что в моем проекте есть ошибки, но я не понимаю, почему это происходит. Я добавил изображение и ошибки ниже:

enter image description here

Описание Путь к ресурсу Тип местоположения Столбец "id" не может быть разрешен на таблице "страница" Page.java / точка остановаJPA / src / no / точка останова / строка домена 14 JPA Проблема

Описание Путь к ресурсу Тип местоположения Столбец "заголовок" не может быть решено на столе "page" Page.java / BreakpointJPA / src / no / breakpoint / domain line 18 JPA Проблема

Описание Путь к ресурсу Тип Расположение Столбец соединения с первичным ключом "id" не может быть решена на столе "page" Page.java / BreakpointJPA / src / no / breakpoint / domain line 10 JPA Проблема

enter image description here

Ответы [ 10 ]

27 голосов
/ 21 ноября 2012

У меня была такая же проблема, решение для меня было обновить соединение с базой данных.

Откройте представление JPA, найдите проводник источника данных.Там вы открываете Database Connection, соединяетесь с вашей базой данных, нажимаете обновить.Затем внесите некоторые изменения в свой файл и сохраните его, я добавил аннотацию @Column (name = "") в поле id.После этого сообщение об ошибке исчезло, и я увеличил примечание к столбцу.

Проблема, по-видимому, заключается в том, что eclipse читает таблицы базы данных после установления первого соединения, после чего соединение закрывается.Поэтому, если вы, как и я, внесли некоторые изменения после этого первого соединения в вашей базе данных, например, изменили имя поля с foo_id на просто id, eclipse не знала об этом и приходит с этой ошибкой.

5 голосов
/ 02 декабря 2014

Старый поток, однако у меня была та же проблема, и я решил ее еще быстрее.

  1. Свойства проекта -> JPA
  2. Изменить соединение на. Хит применить.
  3. Изменить соединение на предыдущее значение. Хит применить.

Надеюсь, это кому-нибудь поможет.

2 голосов
/ 13 апреля 2016

Перейдите в Data Source Explorer, отключите соединение с базой данных, после подключения к базе данных, щелкните правой кнопкой мыши в своем проекте и нажмите «Подтвердить».

Надеюсь, это поможет вам.

2 голосов
/ 25 декабря 2014

У меня была такая же проблема. Вот как я это решил

  1. обновил соединение
    • Перейти к Обозревателю источников данных
    • Выберите соединение и щелкните правой кнопкой мыши
    • выберите Обновить
  2. Очистить проект
    • Перейти в меню проекта
    • выберите чистую
2 голосов
/ 20 августа 2014

Прочтите это, если вы хотите легко решить вашу проблему

В вашей базе данных нет проблем.Вам просто нужно создать новое соединение из Eclipse с той же базой данных, которую мы делаем во время добавления возможностей JPA в проект.

Шаги: -
Создать новую базу данных из вашего приглашения mysql.
Rightнажмите на свой проект в Eclipse / MyEclipse, затем перейдите в Свойства.Нажмите на вкладку Eclipse / MyEclipse слева, а затем выберите подменю JPA.
Затем нажмите Создать новое соединение.Поставьте новое имя подключения.И добавить ту же базу данных.(Вы также можете изменить свою базу данных, но эта же база данных также подойдет).
Проверка соединения и нажмите «Завершить».
В первый раз это не будет отображать только что созданное имя соединения.Просто нажмите Ok, чтобы закрыть это окно.

Затем снова щелкните правой кнопкой мыши на Project, а затем нажмите на Propeties.Теперь вы можете увидеть вновь созданное Соединение в этом раскрывающемся списке.Выберите это и нажмите OK.

Ваша ошибка исчезнет.

Возможная причина этой ошибки: -
Eclipse создает соединение с вашей базой данных каждый раз, когда вы подключаетесь с помощью любого проекта, использующего persistence.xml,но только в первый раз.
Итак, любые изменения после этого, особенно со стороны базы данных (имя таблицы и т. д.), приведут к ошибке из Eclipse.

Спасибо.

1 голос
/ 31 января 2012

Есть ли в вашем проекте интерфейсы JPA / JPA2? Если вы используете maven, вам нужно включить зависимость для классов. Я предполагаю, что это так, потому что в декларациях импорта нет красных линий, но для безопасности нужно проверить, что они существуют.

Для зависимости JPA2 вы можете использовать:

<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.0-api</artifactId>
    <version>1.0.0.Final</version>
</dependency>
0 голосов
/ 30 марта 2016

В моем случае это было просто старое соединение в Свойства-> JPA-> Добавить соединение.Так что освежиться не поможет.Новое соединение для правильная база данных поможет, когда обновление не будет.

0 голосов
/ 28 ноября 2011

Аннотации выглядят правильно, вы уверены, что ваш путь к классу проекта хорош?попробуйте сначала построить объект без полей id и title.

0 голосов
/ 29 октября 2011

Попробуйте сделать помощник по коду внутри кавычек @Column (name = "").Или откройте представление JPA Details и просмотрите комбинированное имя столбца, чтобы увидеть параметры столбца.В аннотации @Table (name = "page") нет ошибки проверки, поэтому похоже, что Eclipse находит таблицу страниц.

0 голосов
/ 28 октября 2011

Можете ли вы попробовать это:

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id", unique=true, nullable=false)
private int id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...