2016-03-31 13 views
7

Hazır sınıf orm eşleme aracını java sınıfına ve PostgreSQL'i veritabanım olarak yapılandırmaya ve parolayı "parola" olarak yapılandırmaya çalışıyorum. . Uygulamayı çalıştırmaya çalıştığımda, bu tür bir hatayı konsol günlüklerimde karşılaştım. İstenen hizmet oluşturulamadı [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]. Bunu hibernate'in eski versiyonunda denedim ve işe yaradı. Şu anda kullanıyorum hazırda bekleme sürümü 5.1.0 sürümüdür. Aşağıdakiİstenen hizmet oluşturulamıyor [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

hata günlüğü geçerli:

Mar 31, 2016 3:55:09 PM org.hibernate.Version logVersion 
INFO: HHH000412: Hibernate Core {5.1.0.Final} 
Mar 31, 2016 3:55:09 PM org.hibernate.cfg.Environment <clinit> 
INFO: HHH000206: hibernate.properties not found 
Mar 31, 2016 3:55:09 PM org.hibernate.cfg.Environment buildBytecodeProvider 
INFO: HHH000021: Bytecode provider name : javassist 
Mar 31, 2016 3:55:09 PM org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity 
WARN: HHH90000012: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/hibernate-configuration. Use namespace http://www.hibernate.org/dtd/hibernate-configuration instead. Support for obsolete DTD/XSD namespaces may be removed at any time. 
Mar 31, 2016 3:55:10 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit> 
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final} 
Mar 31, 2016 3:55:10 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) 
Mar 31, 2016 3:55:10 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 
INFO: HHH10001005: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost:5432/hibernatedb] 
Mar 31, 2016 3:55:10 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 
INFO: HHH10001001: Connection properties: {user=sa, password=****} 
Mar 31, 2016 3:55:10 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 
INFO: HHH10001003: Autocommit mode: false 
Mar 31, 2016 3:55:10 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init> 
INFO: HHH000115: Hibernate connection pool size: 1 (min=1) 
Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:244) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:208) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) 
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) 
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) 
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724) 
    at org.javabrains.hibernate.HibernateTest.main(HibernateTest.java:18) 
Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect 
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:105) 
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:123) 
    at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:41) 
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) 
    at org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:106) 
    at org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:40) 
    at org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:19) 
    at org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:138) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:110) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:74) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234) 
    ... 14 more 
Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "sa" 
    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:433) 
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:208) 
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66) 
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:215) 
    at org.postgresql.Driver.makeConnection(Driver.java:406) 
    at org.postgresql.Driver.connect(Driver.java:274) 
    at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38) 
    ... 29 more 

benim hibernate.cfg.xml dosyası aşağıdadır

<?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> 
    <!-- Database connection settings --> 
    <property name="connection.driver_class">org.postgresql.Driver</property> 
    <property name="connection.url">jdbc:postgresql://localhost:5432/hibernatedb</property> 
    <property name="connection.username">sa</property> 
    <property name="connection.password">password</property> 

    <!-- JDBC connection pool (use the built-in) --> 
    <property name="connection.pool_size">1</property> 

    <!-- SQL dialect --> 
    <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property> 

    <!-- Enable Hibernate's automatic session context management --> 
    <property name="current_session_context_class">thread</property> 

    <!-- Disable the second-level cache --> 
    <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> 

    <!-- Echo all executed SQL to stdout --> 
    <property name="show_sql">true</property> 

    <!-- Drop and re-create the database schema on startup --> 
    <property name="hbm2ddl.auto">create</property> 

    <!-- Names the annotated entity class--> 
    <mapping class="org.javabrains.dto.UserDetails"/> 

    </session-factory> 
</hibernate-configuration> 

Benim POJO sınıf

package org.javabrains.dto; 

import javax.persistence.Entity; 

@Entity 
public class UserDetails { 

    private int userId; 
    private String userName; 

    public int getUserId() { 
     return userId; 
    } 
    public void setUserId(int userId) { 
     this.userId = userId; 
    } 
    public String getUserName() { 
     return userName; 
    } 
    public void setUserName(String userName) { 
     this.userName = userName; 
    } 

} 

Ve uygulama sınıfı:

senin bir hazırda oturumu yaklaşımı (değil JPA) kullandıkları için aşağıdaki

, Sen hibernate-entitymanager-xxx.jar gerekmez java hazırda yapısı enter image description here

cevap

7

görüntüsüdür. SessionFactory'u da kapatmanız ve hatalarla ilgili bir işlemi geri almanız gerekir. Ama sorun, elbette, bunlarla değil.

Bu

Yanlış bir kullanıcı veya (ve) şifre sağlamak gibi

# 
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "sa" 
# 

görünüyor bir veritabanı tarafından döndürülür.

+0

Yanlış bir kullanıcı da olabilir. –

+0

@MarkRotteveel Doğru. Teşekkür ederim Mark. –

+0

Bu cevap doğru cevap olarak işaretlenmelidir. Bu, kullanıcı veya şifre kimlik bilgilerinin yanlış olduğu tek nedendir. Cevap için Başparmak .. –

0

Eclipse mars, Hibernate 5.2.1, Jdk7 ve Oracle 11g kullanıyorum.

Hazırda kod oluşturma aracı çalıştırdığımda aynı hatayı alıyorum. Hazırda bekletme konsol yapılandırmda tür çerçevesindeki Hazırda Bekletme sürümünü (5.1 - 5.0) seçerek çözdüğüm için bir sürüm sorunu olduğunu düşünüyorum.

0

Sen KullanıcıNo

0

yukarıdaki @id unutmak aynı hata var ve benim için çalıştı bu

SessionFactory sessionFactory = 
    new Configuration().configure("hibernate.cfg.xml").buildSessionFactory(); 

için aşağıdaki

SessionFactory sessionFactory = 
    new Configuration().configure().buildSessionFactory(); 

değişen.

3

Neden: Hazırda bekletme, veritabanına bağlanamadığından beri hata oluştu.
Solüsyon:
1. Lütfen yapılandırma dosyasında belirtilen sunucuda bulunan bir veritabanınızın bulunduğundan emin olun örn. Bu durumda "hibernatedb".
2. Lütfen db'ye bağlanmak için kullanıcı adı ve şifre doğru olup olmadığını kontrol edin.
3. Bağlantı için ilgili kavanozların projeyle eşleştirilip eşleştirilmediğini kontrol edin.

0

özel veritabanı tablosu ile ilgili çalışan bir başka uygulamayı durdurmalısınız ... diğer modülde veya diğer bir projede java API çalıştıran gibi sonlandırılmıyor.