У меня около 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>