więc mam problem z hibernacją, ponieważ jakoś już nie działa. Jakoś działało przez długi czas, a teraz przestało działać. Więc jestem głupi lub ślepy. Albo jedno i drugie?: P Oto mój kod:
configFile = System.getProperty("user.dir");
configFile += File.separator + "src"
+ File.separator + "main"
+ File.separator + "resources"
+ File.separator;
configFile += "hibernate.cfg.xml";
File file = new File(configFile);
System.out.println(file.exists());
System.out.println(file.getAbsolutePath());
Configuration configuration = new Configuration();
configuration.configure(configFile);
Konsola mówi nawet, że plik istnieje:
true
/Users/Bernhard1/Dropbox/Ausgaben2/src/main/resources/hibernate.cfg.xml
Ale dostaję ten wyjątek:
Exception in thread "main" org.hibernate.HibernateException: /Users/Bernhard1/Dropbox/Ausgaben2/src/main/resources/hibernate.cfg.xml not found
Jakieś pomysły?
Odpowiedzi:
0 dla odpowiedzi № 1Po prostu użyj: Configuration.configure („hibernate.cfg.xml”); I spróbuj. Hibernacja pobierze ten plik z folderu zasobów.
0 dla odpowiedzi nr 2
Jeśli korzystasz z projektu Maven, po prostu spróbuj załadować plik w następujący sposób:
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
Zakładając, że jest to projekt Maven, plik zostanie umieszczony w katalogu głównym ścieżki klasy, która jest target/classes
informator.
Hibernacja szuka pliku z katalogu głównego ścieżki klasy, a następnie powinien działać. Hibernacja nie będzie szukała pliku na podstawie bezwzględnej ścieżki, którą próbujesz, jest to niepoprawne.