2013-07-16 1 views
5

Я использую JPA в Eclipse (Kepler), и мои объекты Entity Beans будут иногда показывать ошибки, хотя в классе ничего не изменилось.Данное имя объекта «ClassName» пусто

Внезапно @Entity аннотацию подсвечивается как ошибка и соответствующее сообщение об ошибке:

Данное имя объекта «com.test.domain.Result» пуст.

Если я специально добавить имя атрибута (т.е. @Entity(name="somename") то «SomeName» часть линии будет выделена как ошибка.

Очистка проекта, перезапуск Eclipse, не исправить. Я могу скопировать классы в новый проект и не получить ошибку на некоторое время, но как только она появится (без видимых причин), я не могу избавиться от нее.

Любые идеи, что вызывает это и как я могу это исправить?


Update:

Ну, я могу найти в свойствах проекта средство специально установить эту ошибку предупреждения (! Или игнорировать) (Свойства проекта -> JPA -> Ошибки/предупреждения -> Введите «Имя Entity Пусто »(второй в списке). Все работает нормально, если я это делаю, однако мне все еще интересно, что вызывает ошибку в первую очередь.

+1

Обновление: Ну, я могу найти в свойствах проекта возможность специально установить эту ошибку для предупреждения (или игнорировать!) (Свойства проекта -> JPA -> Ошибки/Предупреждения -> Введите «Имя объекта пусто» (второй вниз в списке).Все работает отлично, если я это делаю, однако мне все еще интересно, что вызывает ошибку в первую очередь. – David

+0

Используете ли вы JBoss Tools с платформой Hibernate, определенную для платформы JPA? –

+0

Извините за поздний ответ, да, я был. Я думаю, что Eclipse просто путается – David

ответ

8

Я могу найти в свойствах проекта возможность специально установить эту ошибку для предупреждения (или игнорировать!) (Свойства проекта -> JPA -> Ошибки/Предупреждения -> Введите «Имя объекта пусто» (второй в список.

Отключения позже на самом деле не вызывает ошибки, чтобы вернуться, я предполагаю, что затмение выходит из синхронизации с самими собой.

+0

Временное исправление, но оно работает =) – Steven

4

у меня такая же проблема в моем проекте. Мое приложение развертывания без ошибок в мой сервер приложений ... кажется, это ошибка проверки. Я удалил грань JPA из «Свойства проекта -> Границы проекта». Вместо этого вы можете отключить «валидацию JPA».

2

Это проблема с Eclipse JPA Validator, которая не распознает @ElementCollection, если я удалю эту аннотацию, все 21 ошибка исчезла из eclipse, я удалился, потому что мне больше не нужен, заменил ее сущностью.

0

Вы пытались настроить версию JPA? У меня была эта проблема, у меня был Hibernate JPA 2.0 в моем помпе, и проект Facet был настроен на то, чтобы указывать на JPA 2.1, поэтому я просто изменил это как JPA 2.0 в проекте Facet.

0

Можете ли вы выслать код класса? Скорее всего, у вас есть атрибут имени с пустой строкой, назначенной ему. Удалите его полностью и оставите только тег аннотации @Entity.

+0

@Entity @Table (name = "properties") – David

1

Я узнал, что ошибки исчезли, когда я переключил «Платформа» (свойства проекта - JPA) с «Hibernate 2.1» на «EclipseLink 2.5.x». Очевидно, что валидатор JPA испытывал трудности с проверкой через Hibernate.