Hibernate提供错误错误为“当'hibernate.dialect'未设置时,对DialectResolutionInfo的访问不能为空'当没有互联网连接时 [英] Hibernate gives error error as "Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set" when there is no internet connection

查看:219
本文介绍了Hibernate提供错误错误为“当'hibernate.dialect'未设置时,对DialectResolutionInfo的访问不能为空'当没有互联网连接时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当互联网连接时,Hibernate工作正常。但是当没有互联网连接时,它给了我


当'hibernate.dialect'未设置时,对DialectResolutionInfo的访问不能为空


错误。我认为我的应用程序在运行时试图访问互联网连接。我得到的详细错误如下: -


2015年12月22日6:17:43
org.hibernate .engine.jdbc.connections.internal.ConnectionProviderInitiator
initiateService
WARN:HHH000181:假设应用程序将提供连接,没有遇到适当的连接提供者
初始化SessionFactory创建failed.org.hibernate.HibernateException:访问
当'hibernate.dialect'未设置时,DialectResolutionInfo不能为空
org.hibernate.HibernateException:当'hibernate.dialect'未设置时,对DialectResolutionInfo的访问不能为空
在org.hibernate .engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104)
at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71)
在org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:209)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
at org .hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
位于org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
位于org.hibernate.cfg.Configuration .buildSessionFactory(Configuration.java:1843)
at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:32)
at com.pos.admin.admin_module .admin_module.hibernatefiles.hibernate.HibernateUtil.getSessionFactory(HibernateUtil.java:44)
at com.pos.admin.admin_module.main.AdminModule.start(AdminModule.java:21)
at com.sun .javafx.application.LauncherImpl.lambda $洗衣机。 chApplication1 $ 163(未知
源)
在com.sun.javafx.application.PlatformImpl.lambda $ runAndWait $ 176(未知
源)
在com.sun.javafx.application。 PlatformImpl.lambda $ null $ 174(未知
源)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda $ runLater $ 175(未知
源)
在com.sun.glass.ui.InvokeLaterDispatcher $ Future.run(未知源)
在com.sun.glass.ui.win.WinApplication._runLoop(本机方法)
在com.sun.glass.ui.win.WinApplication.lambda $ null $ 149(未知源代码)
在java.lang.Thread.run(未知源代码)
应用程序启动异常方法
在sun.reflect.NativeMethodAccessorImpl.invoke0处使用
java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke(未知源代码)
$ b在太阳.reflect.Delegatin gMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javafx.application.LauncherImpl.launchAppWithArgs(Unknown
Source)
at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl。 invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.launcher.LauncherHelper $ FXHelper.main(未知源)
引起:java.lang.RuntimeException:应用程序启动方法中的异常
在com.sun.javafx.application.LauncherImpl.launchApplication1(未知
源)
at com.sun.javafx.application.LauncherImpl.lambda $ launchApplication $ 156(Unknown
Source)
at java.lang.T hread.run(未知源)
引起:java.lang.ExceptionInInitializerError
at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:39)
at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.getSessionFactory(HibernateUtil.java:44)
at com.pos.admin.admin_module.main.AdminModule.start(AdminModule.java: 21)
at com.sun.javafx.application.LauncherImpl.lambda $ launchApplication1 $ 163(未知
来源)
at com.sun.javafx.application.PlatformImpl.lambda $ runAndWait $ 176(未知
源)
在com.sun.javafx.application.PlatformImpl.lambda $ null $ 174(未知
源)
在java.security.AccessController.doPrivileged(本地方法)
at com.sun.javafx.application.PlatformImpl.lambda $ runLater $ 175(未知
来源)
at com.sun.glass.ui.InvokeLaterDispatcher $ Future.run(未知源)
在com.sun.glass.ui.win.WinApplication._runLoop(本地方法)
在com.sun.glass.ui.win.WinApplication.lambda $ null $ 149(未知源)
... 1 more
引起:org.hibernate.HibernateException:当'hibernate.dialect'没有在org.hibernate.engine.jdbc.dialect中设置
时,DialectResolutionInfo的访问不能为null。 org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect中的internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104)
org.hibernate.engine中的
。 jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:209)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
位于org.hibernate.service。 internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
at org.hibernate.service.internal.Abstra ctServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
在org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java: 1843)
at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:32)
... 11 more
异常正在运行的应用程序com.pos .admin.admin_module.main.AdminModule

我的pom.xml文件

 < project xmlns =http://maven.apache.org/POM/4.0.0xmlns:xsi =http://www.w3.org/2001/XMLSchema -instance
xsi:schemaLocation =http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">
< modelVersion> 4.0.0< / modelVersion>

< groupId> com.pos.admin.admin_module< / groupId>
< artifactId> admin_module< / artifactId>
< version> 0.0.1-SNAPSHOT< / version>
<包装> jar< / packaging>

<名称> admin_module< /名称>
< url> http://maven.apache.org< / url>

<属性>
< project.build.sourceEncoding> UTF-8< /project.build.sourceEncoding>
< / properties>

<! - < build>
< pluginManagement>
< plugins>
< plugin>
< groupId> org.apache.maven.plugins< / groupId>
< artifactId> maven-compiler-plugin< / artifactId>
< version> 3.3< / version>
<配置>
< source> 1.8< / source>
< target> 1.8< / target>
< / configuration>
< / plugin>
< / plugins>
< / pluginManagement>
< / build> - >

<依赖关系>
< dependency>
< groupId> junit< / groupId>
< artifactId> junit< / artifactId>
< version> 3.8.1< / version>
< scope> test< / scope>
< /依赖关系>

<! - <依赖>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-core< / artifactId>
< version> 5.0.5.Final< / version>
< /依赖关系> - >
< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-core< / artifactId>
< version> 4.3.5.Final< / version>
< /依赖关系>
< dependency>
< groupId> mysql< / groupId>
< artifactId> mysql-connector-java< / artifactId>
< version> 5.1.37< / version>
< /依赖关系>
<! - <依赖关系> <&的groupId GT; org.hibernate作为< /&的groupId GT; < artifactId的>冬眠核< / artifactId的>
< version> 4.3.5.Final< / version> < /依赖性> - >

<! - <依赖> <&的groupId GT; org.hibernate作为< /&的groupId GT; < artifactId的>冬眠-验证器; / artifactId的>
< version> 5.2.2.Final< / version> < /依赖性> - >

<! - <依赖> <&的groupId GT; javax.el< /&的groupId GT; < artifactId的> javax.el-API< / artifactId的>
< version> 2.2.4< / version> < /依赖性> <依赖性> <&的groupId GT; org.glassfish.web< /&的groupId GT;
< artifactId> javax.el< / artifactId> <版本> 2.2.4< /版本> < /依赖性> - >
< /依赖关系>
< / project>

我的hibernate配置(hibernate.cfg.xml)文件

 <?xml version =1.0encoding =UTF-8?> 
<!DOCTYPE hibernate-configuration PUBLIC
- // Hibernate / Hibernate配置DTD 3.0 // EN
http://hibernate.org/dtd/hibernate-configuration-3.0 .dtd>
< hibernate-configuration>
< session-factory>
< property name =hibernate.connection.driver_class> com.mysql.jdbc.Driver< / property>

< property name =hibernate.connection.url> jdbc:mysql:// localhost / point_of_sales< / property>
< property name =hibernate.connection.username>根< / property>
< property name =hibernate.connection.password>
< / property>
< property name =hibernate.dialect> org.hibernate.dialect.MySQLDialect< / property>

< property name =hibernate.current_session_context_class>线程< / property>
< property name =hibernate.show_sql> true< / property>
<! -
< property name =hbm2ddl.auto>更新< / property> - >

< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.Category/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.ProductHeader/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.PurchaseDetail/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.PurchaseHeader/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.SalesDetail/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.SalesHeader/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.Settings/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.Unit/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.User/>
< mapping class =com.pos.admin.admin_module.hibernatefiles.dto.Supplier/>

<! - < mapping class =com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.Supplier/>
< mapping class =com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.PurchaseHeader/>
< mapping class =com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.ProductHeader/>
< mapping class =com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.Category/>
< mapping class =com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.Unit/> - >
<! - < mapping class =com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.User/> - >

<! - < mapping class =com.pos.admin.admin_module.admin_module.main.Cart1/> - >

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

HibernateUtil类创建配置 Session objects

  public class HibernateUtil {

私有静态SessionFactory sessionFactory;

private static SessionFactory buildSessionFactory(){
try {
//从hibernate-annotation.cfg.xml创建SessionFactory
Configuration configuration = new Configuration();
尝试{
configuration.configure(hibernate.cfg.xml);
} catch(Exception e){
System.out.println(处理配置文件时的异常:+ e.getMessage());
System.out.println(asfsdaf+配置);

System.out.println(Hibernate Annotation Configuration loaded);

ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()。applySettings(configuration.getProperties())。build();
System.out.println(Hibernate Annotation serviceRegistry created);

SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);

return sessionFactory;
}
catch(Throwable ex){
System.err.println(Initial SessionFactory creation failed。+ ex);
ex.printStackTrace();
抛出新的ExceptionInInitializerError(ex);



public static SessionFactory getSessionFactory(){
if(sessionFactory == null)sessionFactory = buildSessionFactory();
return sessionFactory;


public static void closeSessionFactory(){
if(!sessionFactory.isClosed()){
System.out.println(Closing SessionFactory);
sessionFactory.close();
}
}
}

我想解决这个问题因为互联网连接不可能始终可用。谢谢

解决方案

要使用hibernate脱机,您必须在xml映射和配置文件中更改您的dtd。确保hibernate jar在你的类路径中

pre $ 用于xml映射文件
<!DOCTYPE hibernate-mapping SYSTEM
classpath ://org/hibernate/hibernate-mapping-3.0.dtd>

用于配置文件:

 <!DOCTYPE hibernate-configuration SYSTEM 
classpath://org/hibernate/hibernate-configuration-3.0.dtd>

http://www.journaldev.com/2959/how-to-configure-hibernate-cfg-xml-to-work-offline


Hibernate works fine when there is internet connection. But when there is no internet connection, it gives me

Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

error. I think my application is trying to access the internet connectivity when running. The detail error that I get is given below:-

Dec 22, 2015 6:17:43 PM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService WARN: HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections Initial SessionFactory creation failed.org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:209) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843) at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:32) at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.getSessionFactory(HibernateUtil.java:44) at com.pos.admin.admin_module.main.AdminModule.start(AdminModule.java:21) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$null$174(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$149(Unknown Source) at java.lang.Thread.run(Unknown Source) Exception in Application start method java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source) at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) Caused by: java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ExceptionInInitializerError at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:39) at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.getSessionFactory(HibernateUtil.java:44) at com.pos.admin.admin_module.main.AdminModule.start(AdminModule.java:21) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$null$174(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$149(Unknown Source) ... 1 more Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:209) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843) at com.pos.admin.admin_module.admin_module.hibernatefiles.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:32) ... 11 more Exception running application com.pos.admin.admin_module.main.AdminModule

My pom.xml file

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.pos.admin.admin_module</groupId>
    <artifactId>admin_module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>admin_module</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

<!--    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build> -->

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

<!--        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.0.5.Final</version>
        </dependency> -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.5.Final</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.37</version>
        </dependency>
        <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> 
            <version>4.3.5.Final</version> </dependency> -->

        <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> 
            <version>5.2.2.Final</version> </dependency> -->

        <!-- <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> 
            <version>2.2.4</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> 
            <artifactId>javax.el</artifactId> <version>2.2.4</version> </dependency> -->
    </dependencies>
</project>

My hibernate configuration (hibernate.cfg.xml) file

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

        <property name="hibernate.connection.url">jdbc:mysql://localhost/point_of_sales</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">
        </property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

        <property name="hibernate.current_session_context_class">thread</property>
        <property name="hibernate.show_sql">true</property>
        <!-- 
      <property name="hbm2ddl.auto">update</property>  -->

        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.Category"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.ProductHeader"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.PurchaseDetail"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.PurchaseHeader"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.SalesDetail"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.SalesHeader"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.Settings"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.Unit"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.User"/>
        <mapping class="com.pos.admin.admin_module.hibernatefiles.dto.Supplier"/>

<!--         <mapping class="com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.Supplier"/>
        <mapping class="com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.PurchaseHeader"/>
        <mapping class="com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.ProductHeader"/>
        <mapping class="com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.Category"/>
        <mapping class="com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.Unit"/> -->
  <!--       <mapping class="com.pos.storekeeper.storekeeper_module.hibernateFiles.dto.User"/> -->

        <!-- <mapping class="com.pos.admin.admin_module.admin_module.main.Cart1"/> --> 

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

HibernateUtil class where I create Configuration and Session objects

public class HibernateUtil {

    private static SessionFactory sessionFactory;

    private static SessionFactory buildSessionFactory() {
        try {
            // Create the SessionFactory from hibernate-annotation.cfg.xml
            Configuration configuration = new Configuration();
            try{
            configuration.configure("hibernate.cfg.xml");
            }catch(Exception e){
                System.out.println("Exception while handling configureation file :" + e.getMessage());
                System.out.println("asfsdaf " + configuration);
            }
            System.out.println("Hibernate Annotation Configuration loaded");

            ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
            System.out.println("Hibernate Annotation serviceRegistry created");

            SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);

            return sessionFactory;
        }
        catch (Throwable ex) {
            System.err.println("Initial SessionFactory creation failed." + ex);
            ex.printStackTrace();
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static SessionFactory getSessionFactory() {
        if(sessionFactory == null) sessionFactory = buildSessionFactory();
        return sessionFactory;
    }

    public static void closeSessionFactory(){
        if(!sessionFactory.isClosed()){
            System.out.println("Closing SessionFactory");
            sessionFactory.close();
        }
    }
}

I want to fix this issue because internet connectivity cannot be always available. Thank you

解决方案

to use hibernate offline you will have to change your dtd in your xml mapping and configuration files.make sure hibernate jar is in your classpath

for xml mapping file
    <!DOCTYPE hibernate-mapping SYSTEM 
        "classpath://org/hibernate/hibernate-mapping-3.0.dtd">

for configuration file :

<!DOCTYPE hibernate-configuration SYSTEM 
    "classpath://org/hibernate/hibernate-configuration-3.0.dtd">

http://www.journaldev.com/2959/how-to-configure-hibernate-cfg-xml-to-work-offline

这篇关于Hibernate提供错误错误为“当'hibernate.dialect'未设置时,对DialectResolutionInfo的访问不能为空'当没有互联网连接时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆