Eclipselink: генерировать таблицу генерации из-за сбоя
У меня небольшие проблемы с генерацией таблиц JPA из сущностей (в eclipse 4.3 с Dali и eclipselink 2.5.0). У меня есть книга сущностей, которая имеет несколько атрибутов и среди них есть Category
приписывать. категория также является сущностью с именем, описанием и автоматически генерируемым идентификатором. отношенияBook M:1 Category
,
вот соответствующие фрагменты
книга...
@Entity
public class Book implements Serializable {
// bi-directional many-to-one association to Category
@ManyToOne
@JoinColumn(name = "CATEGORY_ID", nullable = false)
private Category category;
// other attributes, constructors and methods...
}
категория
@Entity
public class Category implements Serializable {
// bi-directional one-to-many association to Book
@OneToMany(mappedBy = "category", cascade = { CascadeType.PERSIST }, fetch = FetchType.LAZY)
private Set<Book> books;
// other attributes, constructors and methods...
}
Дали также генерирует файлы метаданных Class_, и они выглядят хорошо для меня...
книга_
@StaticMetamodel(Book.class)
public class Book_ {
public static volatile SingularAttribute<Book, Category> category;
// ....
}
категория_
@StaticMetamodel(Category.class)
public class Category_ {
public static volatile SetAttribute<Category, Book> books;
// ....
}
Когда я выбираю генерировать таблицы из сущностей (чтобы увидеть результирующий файл сценария sql), я получаю это исключение
Exception in thread "main" Local Exception Stack:
Exception [EclipseLink-30005] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b):
org.eclipse.persistence.exceptions.PersistenceUnitLoadingException
Exception Description: An exception was thrown while searching for persistence archives with ClassLoader:
org.eclipse.persistence.dynamic.DynamicClassLoader@154e92c
Internal Exception: javax.persistence.PersistenceException: Exception [EclipseLink-28018]
(Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [bookstore] failed.
Internal Exception: Exception [EclipseLink-7250] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b):
org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class name.kipchumba.obby.bookstore.entities.Book]
uses a non-entity [class name.kipchumba.obby.bookstore.entities.Category] as target entity in the relationship attribute [field category].
at org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:127)
at org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactoryImpl(PersistenceProvider.java:107)
at org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:177)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
at org.eclipse.jpt.jpa.eclipselink.core.ddlgen.Main.buildEntityManagerFactory(Main.java:94)
at org.eclipse.jpt.jpa.eclipselink.core.ddlgen.Main.execute(Main.java:80)
at org.eclipse.jpt.jpa.eclipselink.core.ddlgen.Main.main(Main.java:68)
Категория аннотирована @Entity
и он также включен в файл persistence.xml. У меня вопрос, что вызывает эту проблему? что я забыл? поскольку, насколько я могу судить, Category - это сущность.