У меня около 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 и установил subclipse и Jboss Tools 3.3M2.
Этот проект отлично работал в Eclipse 3.6, и кто-то еще столкнулся с той же ошибкой и переключился обратно на 3.6, но я подумал, что, может быть, кто-то знает источник.
РЕДАКТИРОВАТЬ: первый маркер может быть разрешен с помощью свойств проекта -> JPA -> автоматически обнаруживать аннотированные классы. Другая ошибка все еще сохраняется.
РЕДАКТИРОВАТЬ: Это странно, 57 из 59 оставшихся ошибок связаны с полем учетной записи. у меня в пути к классам моей модели есть отдельный файл 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>