Nicht in der Lage zu erstellen angeforderten Dienst [org.hibernate.Motor.jdbc.env.spi.JdbcEnvironment]
Ich versuche zu konfigurieren, hibernate orm-mapping tool, um meine java-Klasse und die Verwendung von PostgreSQL als meine Datenbank und konfiguriert die Kennwort - "password". Als ich versuchte, führen Sie die Anwendung, habe ich Fehler auf meiner Konsole anmeldet als
Nicht in der Lage zu erstellen angeforderten Dienst [org.hibernate.Motor.jdbc.env.spi.JdbcEnvironment].
Ich habe versucht, diese auf die alte version von hibernate und es funktioniert. Die hibernate-version, die ich bin gerade jetzt ist die version 5.1.0.
Folgenden ist die error-log:
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
Das folgende ist meine hibernate.cfg.xml Datei
<?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>
Mein POJO-Klasse
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;
}
}
Und meiner application-Klasse:
package org.javabrains.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.javabrains.dto.UserDetails;
public class HibernateTest {
public static void main(String[] args) {
UserDetails user = new UserDetails();
user.setUserId(1);
user.setUserName("Tet");
//Hibernate API to save this objects to DB
//Session factory is created only ONCE
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
//create transaction
session.beginTransaction();
session.save(user);
//end the transaction
session.getTransaction().commit();
//Closing the session
session.close();
}
}
Folgende ist das Bild der java hibernate Struktur
InformationsquelleAutor tdel | 2016-03-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht
hibernate-entitymanager-xxx.jar
, weil Sie eine Hibernate-session-Ansatz (nichtJPA
). Sie müssen in der Nähe derSessionFactory
zu und rollback einer Transaktion auf Fehler. Aber das problem ist natürlich nicht mit denen.Dieser wird zurückgegeben, indem eine Datenbank
Sieht aus wie Sie haben einen falschen Benutzernamen oder (und) Passwort.
Ich korrigiere. Vielen Dank, Mark.
Diese Antwort gekennzeichnet werden soll, wie die richtige Antwort. Dies ist der einzige Grund, wo entweder der Benutzer oder das Kennwort falsch sind. Daumen hoch für die Antwort ..
Danke 🙂
InformationsquelleAutor v.ladynev
Ursache: Der Fehler aufgetreten ist, da hibernate nicht in der Lage die Verbindung zu der Datenbank.
Lösung:
1. Bitte stellen Sie sicher, dass Sie eine Datenbank präsentieren auf dem server in der genannten Konfiguration Datei zB. "hibernatedb" in diesem Fall.
2. Bitte beachten Sie wenn Sie den Benutzernamen und das Kennwort für die Verbindung zur db korrekt sind.
3. Überprüfen Sie, ob relevante Gläser erforderlich für die Verbindung zugeordnet sind, um das Projekt.
InformationsquelleAutor Vaibhav Bhalla
Ich bin mit Eclipse mars, Hibernate 5.2.1, Jdk7 und Oracle 11g.
Bekomme ich den gleichen Fehler wenn ich mit Hibernate code generation tool. Ich denke, es ist ein Versionen-Problem durch ich habe es gelöst durch die Wahl der Hibernate version (5.1 5.0) in das Feld Bild in meinem Hibernate-console-Konfiguration.
InformationsquelleAutor orog
Vergessen Sie die @ID über die user-id
InformationsquelleAutor Luis Jose Marrero
müssen Sie aufhören, anderen die Ausführung von app beteiligten mit einer besonderen Datenbank Tabelle ...
wie mit java-API in andere module oder andere Projekt ist nicht beendet, .. so beenden ausgeführt.
InformationsquelleAutor Abolfazl Ghahremani
Hatte ich diesen Fehler mit MySQL, da meine Datenbank und die einzige Lösung war, neu installieren, alle Komponenten von MySQL, denn bevor ich das installiert nur den server.
So laden Sie andere Versionen von PostgreSQL und erhalten Sie alle Komponenten
InformationsquelleAutor Gabriel Leite
Ich habe den gleichen Fehler und ändern Sie die folgenden
zu diesem
arbeitete für mich.
configure(...)
hat viele Arten von Parametern (Datei ,URL,Pfad) ,so ist es nicht notwendig, zu beheben, der Lage hibernate.cfg.xml und er hat nicht die menthioned hibernate.cfg.xml Speicherort der Datei.InformationsquelleAutor Mahesh Naalla