comment réparer l'erreur: “INFO: HHH000206: mise en veille prolongée.propriétés non trouvé”?
J'ai essayé de tester si les hibernate configuration fonctionne correctement. J'ai essayé, mais j'ai une erreur:
INFO: HHH000206: hibernate.properties not found
Pour ce faire: j'ai créer:
[1] hibernate fichier de configuration [à l'aide de xml]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="">
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.default_schema">explorecalifornia</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.connection.password">abc123</property>
</session-factory>
</hibernate-configuration>
[2] hibernate classe utilitaire
public class HibernateUtilities {
private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;
static{
try{
Configuration configuration = new Configuration().configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
}
catch(HibernateException exception){
System.out.println("Problem creating session factory");
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void setSessionFactory(SessionFactory sessionFactory) {
HibernateUtilities.sessionFactory = sessionFactory;
}
}
[3] Le programme principal:
import org.hibernate.Session;
public class Program {
public static void main(String[] args) {
System.out.println("Hibernate");
Session session = HibernateUtilities.getSessionFactory().openSession();
session.close();
}
}
Mais j'ai la chose suivante lorsque je lance le programme:
Hibernate
Sep 29, 2013 10:47:15 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
Sep 29, 2013 10:47:15 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.5.Final}
Sep 29, 2013 10:47:15 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Sep 29, 2013 10:47:15 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Sep 29, 2013 10:47:15 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
Sep 29, 2013 10:47:15 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
Problem creating session factory
Exception in thread "main" java.lang.NullPointerException
at com.simpleprogrammer.Program.main(Program.java:10)
Pour résoudre cela, j'ai essayé Google et d'appliquer les moyens que j'ai trouvé. mais encore, je ne pouvais pas résoudre le problème. Quelqu'un peut-il m'aider?
OriginalL'auteur adarksun | 2013-09-30
Vous devez vous connecter pour publier un commentaire.
C'est seulement un message d'information indiquant que vous n'avez pas de
hibernate.properties
fichier. Cette propriété de fichier n'est pas obligatoire et il n'est donc pas ce qui empêche votre demande de travail.Si vous voulez savoir ce qui a causé la
SessionFactory
échec lors de la création, vous avez besoin de changer votre bloc catch:Vous devriez utiliser la journalisation à la place.
Oui. Utilisez le bon journal des appenders.
OriginalL'auteur Vlad Mihalcea
Votre problème est la création de la session de l'Usine pour votre application qu'il se passe dans
HibernateUtilities
classe , la raison peut être due à l' , vous ne pouvez pas créer une sessionfactory parsessionRegistry
créer par hibernate Configuration de la classe, parce que vous avez enregistré votre configuration danshibernate.cfg.xml
Il suffit de Remplacer le code suivant dans HibernateUtilities classe
à
Il suffit de retirer la ligne
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
dansUtilitiesClass
parce qu'une partie seulement de votre strucking et obtenir de l'exception, et votre reste de la configuration est calme bonneJ'ai déjà le faire, mais toujours la même erreur qui est à venir
Je viens d'essayer votre programme, sa fonctionne bien, avez-vous mis
properties file
dans votre console de configuration , si oui, où vous avez placé ces.non je n'ai pas de set / utiliser tout fichier de propriétés. Par ailleurs, je n'utilise que les suivantes pots pour ce faire: antlr-2.7.7.jar dom4j-1.6.1.jar hibernate-commons-annotations-4.0.2.Final.jar hibernate-core-4.2.5.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar javassist-3.15.0-GA.jar jboss-logging-3.1.0.GA.jar jboss-transaction-api_1.1_spec-1.0.1.Final.jar mysql-connector-java-5.0.8-bin.jar
OriginalL'auteur kark
Dans mon cas, j'ai été l'exécution de la Hibernate 5 avec des annotations JPA sur tomcat et arrêter de travailler quand j'ai changé de glassfish 4.1
L'erreur:
mise en veille prolongée.propriétés pas trouvé
Assurez-vous que:
src/main/resources/hibernate.cfg.xml existe
Et si vous avez seulement la dépendance de mise en veille prolongée-core, j'ai été en utilisant hibernate annotations et hibernate-commune-annotations et il était de créer des conflits. Hibernate 5 n'a pas besoin de ces deux-là, je l'avais lu quelque part.Essayez de supprimer 😉
Après qu'un nouveau message d'erreur apparaît:
java.lang.NoSuchMethodError: org.jboss.la journalisation.Enregistreur.debugf(Ljava/lang/String;I)V
La raison en était la plus ancienne jboss-logging.jar à: "YOUR_GLASSFISH_FOLDER/glassfish/modules"
Pourquoi? Le hibernate 5 a dépendance avec la dernière version de jboss-l'exploitation forestière et la glassfish 4 utilise la version la plus ancienne, même si vous déclarez à l'intérieur de votre POM fichier de la version la plus récente. En fait, je suis en utilisant:
Puis je l'ai téléchargé et remplacer l'ancien .pot à l'intérieur de l'modules de chemin d'accès et le retour au travail, j'ai passé 2 jours à essayer de le résoudre et j'espère que cela aide certains de futurs problèmes =D
J'ai utilisé ce lien pour m'aider: https://medium.com/@mertcal/using-hibernate-5-on-payara-cc242212a5d6#.npq2hdprz
Une autre solution, dans mon cas, pourrait être de retour pour la dernière Hibernate 4 version (4.3.11.Final), mais il est déjà trop vieux à mon avis
OriginalL'auteur Vitorlui
Les fichiers de configuration doivent être placés dans le classpath. Assurez-vous que le hibernate.cfg.xml est dans le chemin de classe. Que votre programme est un programme console, u besoin de place que hibernate.cfg.xml dans le dossier src. Si u ont placé dans un autre dossier que le spécifier dans
Confingure.configure(fileName);
Et comme répondu Par Monsieur Kark u pour supprimer les lignes suivantes
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
OriginalL'auteur Hareesh
Je pense qu'il vous manque quelques hibernate libs (peut-être
hibernate-tools.jar
je suppose). Donc, s'il vous plaît vérifier.De toute façon, je vous ai vu à l'aide de la hibernate annotations, de sorte s'il vous plaît essayez ce code et de voir ce qu'il se passe avec l'erreur propriétés non trouvé.
OriginalL'auteur Ha Nguyen