简体   繁体   English

Hibernate / SQL Server:无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

[英]Hibernate/SQL Server: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

I've tried figuring out on how to configure hibernate with java project. 我试过弄清楚如何用java项目配置休眠。 I'm using Microsoft SQL Server Management Studio 2017 (connected to it locally). 我正在使用Microsoft SQL Server Management Studio 2017(在本地连接到它)。 When I log-in in SQL Server I did not enter any password. 在SQL Server中登录时,我没有输入任何密码。 That's why I'm assuming that I do not need to add password in my hibernate.cfg.xml. 这就是为什么我假设不需要在hibernate.cfg.xml中添加密码的原因。

OS: Windows 10 64-bit 操作系统:Windows 10 64-bit

I have added this jars: Jars 我添加了这个罐子: 罐子

Main class: 主班:

public class HibernateTest {

    public static void main(String[] args) {
        UserDetails userDetails = new UserDetails();
        userDetails.setUserId(1L);
        userDetails.setUserName("Test");

        SessionFactory sessionFactory = new 
        Configuration().configure().buildSessionFactory();
        Session session = sessionFactory.openSession();
        session.beginTransaction();
        session.save(userDetails);
        session.getTransaction().commit();
    }

UserDetails.java UserDetails.java

package org.test.dto;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class UserDetails {
    @Id
    private Long userId;
    private String userName;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

}

hibernate.cfg.xml 的hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
 ~ Hibernate Search, full-text search for your domain model
 ~
 ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later
 ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
  -->
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>

        <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
        <property name="connection.url">jdbc:sqlserver://localhost\DESKTOP-6QI97M8:1433;databaseName=sample;</property>
        <property name="connection.username">DESKTOP-6QI97M8\Gwen</property>
        <property name="connection.password"></property>

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

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.SQLServerDialect</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.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>

        <property name="hibernate.search.default.directory_provider">filesystem</property>
        <property name="hibernate.search.default.indexBase">target/indexes</property>
        <mapping class="org.hibernate.search.test.spatial.POI"/>
        <mapping class="org.test.dto.UserDetails"/>

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

Exception callstack: 异常调用栈:

Exception encountered: 遇到异常:

at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:271)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
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:242)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
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:691)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726)
at hibernate.HibernateTest.main(HibernateTest.java:15)

Caused by: org.hibernate.exception.SQLGrammarException: Error calling Driver#connect 引起原因: org.hibernate.exception.SQLGrammarException:调用Driver#connect时出错

at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:106)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:101)
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:123)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:42)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:20)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:161)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:109)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
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:259)
... 14 more

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'DESKTOP-6QI97M8\\Gwen' . 由以下原因引起:com.microsoft.sqlserver.jdbc.SQLServerException: 用户'DESKTOP-6QI97M8 \\ Gwen'的登录失败 ClientConnectionId:88965b14-ebee-48b7-83fc-d6d28bf64eb9 ClientConnectionId:88965b14-ebee-48b7-83fc-d6d28bf64eb9

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38)
... 29 more

You need to create a bean class and then only you can use spring annotation else you cant achieve it, one go through the spring documentation, 您需要创建一个bean类,然后才能使用spring批注,否则您将无法实现它,请查阅spring文档,

you can use this link for basic setup " https://www.journaldev.com/3524/spring-hibernate-integration-example-tutorial " 您可以使用此链接进行基本设置“ https://www.journaldev.com/3524/spring-hibernate-integration-example-tutorial

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 服务器响应“无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]” - Server response "Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]" Hibernate错误:无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] - Error with Hibernate:Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 无法为 hibernate 项目创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] - Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] for hibernate project 以编程方式配置Hibernate-无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] - Configuring Hibernate programmatically - Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 在 Hibernate160CE3D180985C - Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] in Hibernate JPA 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment](已更新) - Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] (UPDATED) 无法为 XAMPP 和 Eclipse IDE 创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] - Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] for XAMPP and Eclipse IDE 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] Oracle19c - Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] Oracle19c 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] Java 错误 - Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] Java Error 错误。 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] - Error. Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM