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:

Класс сущности должен быть классом верхнего уровня. Перечисление или интерфейс не должны быть обозначены как объект

Вы можете скачать спецификацию с этого адреса. То, что можно сопоставить как сущность, также довольно хорошо описано здесь.

Другие вопросы по тегам