hibernate @entity sur la classe intérieure seulement (la classe de niveau supérieur n'est pas une @enttity)
-
21-12-2019 - |
Question
Je voudrais persister la classe intérieure dans la base de données.Mais cela ne fonctionne pas. Est-il possible de faire ça?Ou devrais-je mettre cette classe intérieure dans un nouveau fichier ordinaire? Maintenant, je reçois une erreur
[IllegalArgumentException: Unknown entity: models.foo$bar]
Mon fichier de classe:
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);
}
}
}
La solution
Citant JPA 2.1 Spécification:
La classe d'entité doit être une classe de haut niveau.Un énorme ou une interface ne doit pas être désigné comme une entité
Vous pouvez télécharger la spécification de Cette adresse. Ce qui peut être mappé en tant qu'entité est aussi bien bien décrit ici .
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow