Java Hibernate:PostgreSQL驱动程序问题

Java Hibernate:PostgreSQL驱动程序问题,java,database,postgresql,hibernate,driver,Java,Database,Postgresql,Hibernate,Driver,我知道已经有类似的问题了,但答案对我没有帮助。所以请你看看我的问题好吗 我对Hibernate还不是很有经验,在尝试使用Hibernate 4.3和PostgreSQL为本地数据库创建测试数据时遇到了一个问题 我有另一个项目,我用完全相同的方法进行了这项工作,它在那里工作,所以我做了完全相同的设置,但使用了另一个数据库,但现在在我当前的项目中,我得到了以下例外: exception.DBException: Could not configure Hibernate! at dao.Be

我知道已经有类似的问题了,但答案对我没有帮助。所以请你看看我的问题好吗

我对Hibernate还不是很有经验,在尝试使用Hibernate 4.3和PostgreSQL为本地数据库创建测试数据时遇到了一个问题

我有另一个项目,我用完全相同的方法进行了这项工作,它在那里工作,所以我做了完全相同的设置,但使用了另一个数据库,但现在在我当前的项目中,我得到了以下例外:

exception.DBException: Could not configure Hibernate!
    at dao.BenutzerDAO.<init>(BenutzerDAO.java:48)
    at export.ExportDBSchema.main(ExportDBSchema.java:16)
Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.postgresql.Driver]
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:245)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:200)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:156)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:95)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
    at dao.BenutzerDAO.<init>(BenutzerDAO.java:45)
    ... 1 more
Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.postgresql.Driver
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:230)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:340)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:242)
    ... 15 more
我将非常感谢你的每一个回答。

你很接近

您需要将
postgresql-.jar
直接放在servlet容器的
lib
文件夹中

例如,如果您正在使用ApacheTomcat,只需将您的jar放在
/lib
下,您就应该准备好了。

如果您正在使用maven或gradle

您可以将其添加到maven的ur pom.xml中

<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.4</version>
</dependency>

谢谢你的回答。不幸的是,它仍然抛出异常java.lang.ClassNotFoundException:无法加载请求的类:org.postgresql.Driver。我试着把jar放在我在project和server文件夹中找到的每个lib文件夹中,但都不起作用,同时问题也得到了解决。它与罐子的位置有关,但我不知道这次我做了什么不同,但现在它起作用了:)再次感谢。
try {
            if (sessionFactory == null) {
                Configuration conf = new Configuration().configure();

                StandardServiceRegistryBuilder builder
                        = new StandardServiceRegistryBuilder();
                builder.applySettings(conf.getProperties());

                sessionFactory = conf.buildSessionFactory(builder.build());
            }
        } catch (Throwable ex) {
            throw new DBException("Could not configure Hibernate!", ex);
        }
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.4</version>
</dependency>
// https://mvnrepository.com/artifact/org.postgresql/postgresql
compile group: 'org.postgresql', name: 'postgresql', version: '42.2.4'