Exception in thread “main” org.mise en veille prolongée.UnknownEntityTypeException: Impossible de localiser persister
J'ai à me le demander, j'ai presque tout essayé.
Classe D'Entité
@Entity
@Table(name="UserInfo")
public class User {
@Id@Column(name="user_name")
private String userName;
@Column(name="user_id")
private Integer userId;
}
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;databaseName=BankingApplication</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password">2OmniWay</property>
<!-- org.hibernate.HibernateException: No CurrentSessionContext configured! -->
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.default_schema">dbo</property>
<!-- Mapping with model class containing annotations -->
<mapping class="pojo.User"/>
</session-factory>
</hibernate-configuration>
SeesionFactory
//Create the SessionFactory from hibernate.cfg.xml
Configuration configuration = new Configuration();
configuration.configure("hibernate-annotation.cfg.xml");
System.out.println("Hibernate Annotation Configuration loaded");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). applySettings(configuration.getProperties()).build();
System.out.println("Hibernate Annotation serviceRegistry created");
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
Obtenir de l'Objet enregistré dans la bd
SessionFactory sessionFactory = HibernateUtil.getSessionAnnotationFactory();
Session session = sessionFactory.openSession();
Account account = null;
try{
account = (Account) session.get(Account.class, id);
Je suis arriver exception mentionnée dans le sujet. Je viens de triplé tout vérifié, mais il n'est tout simplement pas de travail.
Toute suggestion serait utile.
___________Trace De La Pile_________
Exception in thread "main" org.hibernate.UnknownEntityTypeException: Unable to locate persister: pojo.User
at org.hibernate.internal.SessionFactoryImpl.locateEntityPersister(SessionFactoryImpl.java:792)
at org.hibernate.internal.SessionImpl.locateEntityPersister(SessionImpl.java:2652)
at org.hibernate.internal.SessionImpl.access$2500(SessionImpl.java:164)
at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.<init>(SessionImpl.java:2590)
at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.<init>(SessionImpl.java:2577)
at org.hibernate.internal.SessionImpl.byId(SessionImpl.java:1044)
at org.hibernate.internal.SessionImpl.get(SessionImpl.java:955)
at business.ManageAccount.getAccountDetails(ManageAccount.java:18)
at Utils.TestConnecttion.main(TestConnecttion.java:16)
Où est stacktrace?
OriginalL'auteur vineeshchauhan | 2015-12-07
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter les classes d'entité dans la configuration.
Par défaut, il charge les classes, mais ne pas initialiser les classes d'entité.
Pour cette configuration.addAnnotatedClass() ou addResource permettra de résoudre cette.
Pour cela, vous avez besoin de vous créer .hbm pour chaque entité et configurer que hbm fichier avec hibernate.cfg.xml. Je pense que c'est le seul moyen d'en faire une partie intégrante de la configuration.
OriginalL'auteur KayV
remplacer votre code
"ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(de configuration.getProperties()).build();"
de SessionFactory à
"ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(
la configuration.getProperties()). buildServiceRegistry();"
et essayez de faire de votre sessionfactory et serviceRegistry statique dans la classe
Peut que cela fonctionne pour vous.
Pouvez-vous fournir toute la stacktrace..
quelle est la version d'hibernate vous utilisez
OriginalL'auteur Kandy
votre Utilisateur n'est pas mis en œuvre Serializable, essayez ceci:
J'ai ajouté de la configuration.addAnnotatedClass(Account.class); ligne après la configuration.configurer("hibernate-annotation.cfg.xml"); et ça marche. Mais je veux savoir pourquoi il n'est pas de la cueillette des mappages de cfg.xml fichiers ?
vous avez ajouté seulement User.java pour cfg.xml fichier ,quels sont les autres Entités?
J'ai ajouté toutes les entités de l'cfg.xml. Hibernate est de ne pas décrocher l'un d'eux, que ce soit d'Utilisateur ou de Compte. J'ai montré cfg.xml aussi court que possible. Je veux d'Hibernation pour choisir cartographie de l'cfg.xml pas de solution donnée ci-dessus. tout point de vue ?
si vous êtes arriver à une réponse et pouvezvous en faire partager avec nous, merci beaucoup
OriginalL'auteur Abdelhak
OriginalL'auteur Biswasini
Vous n'avez pas à ajouter de l'Dialecte à votre fichier de configuration Hibernate.Ajoutez cette ligne dans votre fichier de configuration.
non, vous n'avez qu'à ajouter le Dialecte
J'ai également ajouté mais sans succès.
OriginalL'auteur suman tipparapu
Votre syntaxe fonctionne dans Hibernate 4.x, mais provoque une erreur avec Hibernate 5.x.
Le fichier de configuration sont les causes de ce problème.
Dans le fichier XML de configuration, vous avez ajouté un fichier de mappage, tels que:
Supprimer et ajouter ce par programmation à la place:
Il va sûrement travailler.
OriginalL'auteur Hemanth kumar.D