ich mein Projekt mit den Eclipse-IDE gebaut, und legten meine hibernate.cfg.xml
Datei im resources
Ordner (Abbildung unten):Hibernate halten die Suche nach Konfigurationsdatei in einem anderen Ort
Das Problem tritt auf, wenn ich versuche, in meinen DAO-Klassen auf hibernate.cfg.xml
zu verweisen. Hier ist ein Ausschnitt aus meinem Code, wo ich mein SessionFactory
erhalten:
DAO getSessionFactory() Beispiel
private static SessionFactory getSessionFactory() {
String hibernatePropsFilePath = "src/main/resources/hibernate.cfg.xml";
File hibernatePropsFile = new File(hibernatePropsFilePath);
Configuration configuration = new Configuration();
configuration.configure(hibernatePropsFile);
configuration.addAnnotatedClass(MyClass.class);
StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties());
ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();
return configuration.buildSessionFactory(serviceRegistry);
}
Wie Sie sehen können, bin ich immer noch auf die „richtige“ Stelle in meinem Projekt zeigen jedoch, wenn ich Postman Test, erhalte ich folgende Fehlermeldung:
HTTP Status 500 - Request processing failed; nested exception is org.hibernate.internal.util.config.ConfigurationException: Specified cfg.xml file [C:\Users\MYUSERNAME\Desktop\src\main\resources\hibernate.cfg.xml] does not exist
Meine Frage: Warum ist es ständig in meinem Desktop-f suchen oder meinen Dateipfad, und wie ändere ich das, um nur in meinem Projekt zu sehen? Ich checkte und sorgte dafür, dass meine Ressourcen Pfad in meinem Web Deployment Assembly (Abbildung unten) vorhanden ist:
Haben bauen Sie versuchen, ohne den Pfad angeben? Verwenden Sie einfach 'Konfigurationskonfiguration = neue Konfiguration(). Configure(); StandardServiceRegistryBuilder-Builder = new StandardServiceRegistryBuilder(). applySettings (configuration.getProperties()); SessionFactory factory = configuration.buildSessionFactory (builder.build()); ' –
@ChetanJadhavCD dies funktioniert, danke! Seltsam, warum es jetzt funktioniert (versuchte das vor einer langen Zeit) – abhi