hibernate @Entity только для внутреннего класса (класс верхнего уровня не является @Entity)
Я хотел бы сохранить внутренний класс в базу данных. Но это не работает. Есть ли возможность сделать это? Или я должен поместить этот внутренний класс в новый простой файл? Теперь я получаю ошибку
[IllegalArgumentException: Unknown entity: models.foo$bar]
Мой файл класса:
package models;
public class foo {
@Required public String report;
@Required public String reportType;
@Entity
public static class bar{
@Required public int year;
@Required public int month;
public void toDataBase() {
JPA.em().persist(this);
}
}
}
1 ответ
Решение
Цитирование спецификации JPA 2.1:
Класс сущности должен быть классом верхнего уровня. Перечисление или интерфейс не должны быть обозначены как объект
Вы можете скачать спецификацию с этого адреса. То, что можно сопоставить как сущность, также довольно хорошо описано здесь.