今天用hibernate框架写crm项目时遇到报错: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

说是hibernate的dialect没有设置,但是在hibernate.cfg,xml中我已经配置了。主要内容如下:

hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 必选属性 (5个)-->
<!-- 数据库驱动 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 数据库url -->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<!-- 数据库用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 数据库密码 -->
<property name="hibernate.connection.password"></property>
<!-- 数据库方言 : 不同的数据库中,sql语法略有区别 ,指定方言可以让hibernate框架在生成sql语句时,根据 数据库方言生成。 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 可选属性(3个) -->
<!-- 将hibernate生成的sql语句打印到控制台 -->
<property name="hibernate.show_sql">true</property>
<!-- 将hibernate生成的sql语句格式化 -->
<property name="hibernate.format_sql">true</property> <!--## auto schema export 自动导出表,构建表
#hibernate.hbm2ddl.auto create(每次框架运行完之后都会创建新表,之前的表会被覆盖。)
#hibernate.hbm2ddl.auto create-drop (每次框架运行完之后都会将所有表删除)
#hibernate.hbm2ddl.auto update (如果有表变动,会自动更新有改变的表)
#hibernate.hbm2ddl.auto validate(校验 )不自动生成表-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 引入orm元数据 -->
<mapping resource="com/ysong/domain/Customer.hbm.xml"/>
</session-factory> </hibernate-configuration>

Customer.hbm.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- package:填写一个包名,需要书写完整类名的属性,可以写简答类名 -->
<hibernate-mapping package="com.ysong.domain">
<!-- class元素:配置实体与表的关系 name:完整类名 table:数据库表名 -->
<class name="Customer" table="Customer">
<!-- id:配置主键列名映射属性 name:填写主键对应属性名 column:表中的主键列名 (不建议填,让hibernate自动指定类型)type(可选):填写列(属性)的类型。hibernate会自动检测实体的属性类型
每个类型有三种填法:java类型(java.long.String)|hibernate类型(String)|数据库类型(varchar) lenth(可选):配置数据库中列的长度,默认值
:数据库类型的最大长度 not-null(可选):配置该属性(列)是否不能为空,默认值:false -->
<id name="cust_id" column="cust_id">
<!-- generator:主键生成策略 -->
<generator class="native"></generator>
</id> <!-- property:除id之外的列名 name:填写属性名 column:表中的除主键以外的列名 (不建议填,让hibernate自动指定类型)type(可选):填写列(属性)的类型。hibernate会自动检测实体的属性类型
每个类型有三种填法:java类型(java.long.String)|hibernate类型(String)|数据库类型(varchar) lenth(可选):配置数据库中列的长度,默认值
:数据库类型的最大长度 not-null(可选):配置该属性(列)是否不能为空,默认值:false -->
<property name="cust_name" column="cust_name"></property>
<property name="cust_source" column="cust_source"></property>
<property name="cust_level" column="cust_level"></property>
<property name="cust_linkman" column="cust_linkman"></property>
<property name="cust_phone" column="cust_phone"></property>
<property name="cust_mobile" column="cust_mobile"></property>
</class> </hibernate-mapping>

HibernateUtils:

package com.ysong.utils;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class HibernateUtils {
private static SessionFactory sessionFactory;

   static {
Configuration configuration = new Configuration();
sessionFactory = configuration.buildSessionFactory();
}
// 获得session=> 获得全新session
public static Session openSession() {
Session session = sessionFactory.openSession();
return session;
} // 获得session=> 获得与线程绑定的session
public static Session getCurrentSession() {
Session session = sessionFactory.getCurrentSession();
return session;
}
}

最后从百度到的一篇文章中找到答案:

原来,这里的new configuration();应该改成new Configuration().configure();

没有configure()就会去classpath找hibernate.properties文件,有configure就去找hibernate.cfg.xml文件。

到此这是今天遇到的问题,记录下来以后不要犯同样的错!

【Hibernate】Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set的更多相关文章

  1. 【方言】Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

    Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set 几种 方言配置差异 <?xml v ...

  2. [Hibernate]Access to DialectResolutionInfo cannot be null when &#39;hibernate.dialect&#39; not set

    使用Hibernate官方文档上的下面代码进行測试时报出这个异常. org.hibernate.HibernateException: Access to DialectResolutionInfo ...

  3. 【c3p0】目前使用它的开源项目有Hibernate,Spring等

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. c3p0与dbcp区别 JNDI ...

  4. C#【数据库】 Access类

    using System; using System.Data; using System.Data.OleDb; namespace AccessDb { /**//// <summary&g ...

  5. 【Druid】access denied for user ''@'ip'

    今天在写单元测试时,遇到一个很奇葩的问题,一直在报这样的错误: Caused by: java.sql.SQLException: Access denied for user ''@'183.134 ...

  6. 【转】于request.getSession(true/false/null)的区别

    http://blog.csdn.net/gaolinwu/article/details/7285783 关于request.getSession(true/false/null)的区别 一.需求原 ...

  7. 【C#】允许泛型方法<T>返回空值Null

    在设计一个返回类型为T的泛型方法时,有时希望能返回空Null,然后会报错: 根据提示,将返回值由Null改为default(T)即可. default(T)表示返回当前T类型的默认值,如果T为int则 ...

  8. 【转载++】fopen返回0(空指针NULL)且GetLastError是0

    结论来看,是一个简单又朴素的道理——打开文件句柄用完了得给关上.表现在现象上却是着实让人费解,以至于有人还怀疑起了微软的Winodws系统来了,可笑至极.还是那句话,先把自己的屁股先给擦干净喽再怀疑别 ...

  9. postgres-xl 安装与部署 【异常处理】ERROR: could not open file (null)/STDIN_***_0 for write, No such file or directory

    https://www.jianshu.com/p/82aaf352b772 这篇文章很不错,里面有个bug,可能是版本不对. 当前(2018-04-11)通过git 下载原代码时,在配置  pgxc ...

随机推荐

  1. Redis和Memcache性能测试对比

    Redis和Memcache在写入性能上面差别不大,读取性能上面尤其是批量读取性能上面Memcache全面胜出,当然Redis也有自己的优点:比如数据持久化.支持更多的数据结构(Set List ZS ...

  2. properties文件读取配置信息

    public static void main(String[] args){ String printerName=""; String path = "C:\\Bar ...

  3. ubuntu下,创建ruby环境时出现 checking for Magick-config... no

    解决:sudo apt-get install libmagickcore-dev libmagickwand-dev

  4. 什么是 XML Schema?

    XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD. XML Schema: 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义 ...

  5. vb6转vb.net

    一直在用vb6写软件,但最近系统要做web版,但之前的业务规则全在代码中写死了,没用使用存贮过程,如果在web端重写规则,则工作量太大,项目时间也不允许,只好把业务规则转到vb.net中.现在的vb. ...

  6. VS2013文件同步插件开发

    一.插件功能描述 插件监控一个xml文件,当该文档有添加新元素在保存的时候将新增的元素同步到指定的目录下. 二.模板的选择 由于该功能是跟代码编辑有关的,要监控文档的保存事件,所以要在文档打开的时候就 ...

  7. 手把手VirtualBox虚拟机下安装rhel6.4 linux位系统详细文档

    使用Virtual Box,感觉跟Vmware差不多,我的本子的系统是win7 64位. 下面演示安装的是在VirtualBox里安装rhel 6.4 linux 32位系统.32位系统安装和 64位 ...

  8. bzoj4720

    期望dp n久以前做过,再做一遍 你只能决定决策,不能决定结果,这是这道题的关键,因为我们换了教室不一定成功,所以我们应该这样设dp状态,dp[i][j][k],第i天,换j次,换没换,转移: dp[ ...

  9. Winpcap笔记3之打开适配器并捕获数据包

    上一讲中知道了如何获取适配的信息,这一将我们讲写一个程序蒋每一个通过适配器的数据包打印出来. 打开设备的函数是pcap_open().函数原型是 pcap_t* pcap_open(const cha ...

  10. Pascal输出星星

    program Project2; {$APPTYPE CONSOLE} uses SysUtils; var i,j:integer; begin { TODO -oUser -cConsole M ...