Eclipse 3.7 Ошибка проверки сущности (не в 3.6) - PullRequest
2 голосов
/ 28 июля 2011

У меня около 100 ошибок 50, каждое сообщение. Но не у каждой сущности есть маркер ошибки. У класса Account его нет, но у каждого класса есть поле Account. Класс с подверженной ошибкам сущностью (классы с полями учетной записи) в качестве поля также не имеет этой ошибки.

Class "com.model.AccountChange" is mapped, but is not included in any persistence unit AccountChange.java Этот маркер находится на строке определения класса, а не аннотации @Entity.

@Entity
public class AccountChange extends BaseObject {

Следующий маркер ошибки находится в строке аннотации @ManyToOne Target entity "com.model.Account" for "account" is not an Entity

@ManyToOne(cascade = { CascadeType.ALL })
@NotNull
private Account account;

Я скачал Eclipse 3.7 Indigo Java EE и установил субклипс и Jboss Tools 3.3M2.

Этот проект хорошо работал в Eclipse 3.6, и кто-то еще столкнулся с той же ошибкой и переключился на 3.6, но я подумал, что, возможно, кто-то знает источник.

РЕДАКТИРОВАТЬ: первый маркер может быть решен с помощью свойств проекта -> JPA -> автоматически обнаруживать аннотированные классы Другая ошибка все еще сохраняется

РЕДАКТИРОВАТЬ: Это странно, 57 из 59 оставшихся ошибок с полем учетной записи. в моей модели classpath есть отдельный файл persistence.xml. Если я добавляю класс com.model.Account, я получаю сообщение об ошибке «класс не может быть разрешен», если я изменяю его на AccountGroup, никаких проблем нет. Оставшиеся 2 ошибки также не могут быть решены. Другие сущности могут быть.

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="project">
<class>com.model.AccountGroup</class>
</persistence-unit>
</persistence>

Ответы [ 4 ]

3 голосов
/ 06 февраля 2015

Если вы знаете, что это не ошибки, вы можете:

Окно -> Настройки -> Сохранение Java -> JPA -> Ошибки / предупреждения.

В разделе Атрибут измените «Целевая сущность не является сущностью» на Игнорировать

2 голосов
/ 29 июля 2011

у нас есть один в исходной папке для разработки затмения (тот, который я скопированы здесь) и другие, которые заменяют этот файл для разработки или в прямом эфире сервер.

Это ваша проблема, JPA Validation в настоящее время поддерживает только одну постоянную единицу или persistence.xml для проекта:

В настоящее время Dali поддерживает только один модуль постоянства и один файл XML постоянства для каждого проекта. Другие конфигурации могут существовать в проекте JPA, но обработка валидации и значений по умолчанию может быть неправильной, если используется несколько постоянных единиц.

Вы можете попробовать добавить <exclude-unlisted-classes>false</exclude-unlisted-classes> в ваш файл persistence.xml в папке META-INF. И наоборот, сделайте это true и перечислите все свои классы сущностей там, а не только AccountGroup.

0 голосов
/ 25 сентября 2012

У меня была та же ошибка, но установка JPA для аспектов проекта и ее обнаружение помогли мне ... :) спасибо

0 голосов
/ 28 июля 2011

Хорошо, есть ли у класса Account аннотация @Entity и присутствует ли он в файле persistence.xml?

...