org.hibernate.HibernateException: Hibernate Dialect must be explicitly set

terranhao 2007-05-28 10:30:46
我用的是properties方式配置文件,请问这个错误是什么原因,谢谢各位
org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:422)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at cn.com.cnsc.app.MyFileApplication.<clinit>(MyFileApplication.java:108)
...全文
6346 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Michael-Ng 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

错误提示:没有设置数据库方言(dialect)
错误原因:其实并不是你没有对dialect进行设置,而是你在使用hibernate的时候,没有调用配置文件,导致系统不能读出dialect信息。
解决办法:
方法一:

Configuration config = new Configuration();
SessionFactory sf=config.configur……
[/Quote]这个才是解决问题的方法,谢谢MM了
yuanmin198766 2010-08-24
  • 打赏
  • 举报
回复
4楼说的正确 我解决了
freeworklife 2010-04-30
  • 打赏
  • 举报
回复

同意angel_167811
(天使想飞)
Configuration config = new Configuration();
SessionFactory sf=config.configure().buildSessionFactory();
Session s=sf.openSession();
而不是:(注意有颜色部分)
Configuration config = new Configuration();
SessionFactory sf=config.buildSessionFactory();
Session s=sf.openSession();
dingjun0401 2010-03-31
  • 打赏
  • 举报
回复
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_session</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="hibernate.show_sql">true</property>
<mapping resource="com/bjsxt/hibernate/User.hbm.xml" />
</session-factory>

</hibernate-configuration>
上面的回复还是没有解决我的问题!!!!!!!!!!!!!!!!!!!!!!!!
大哥们帮忙看看是什么原因!!!!!!!!!!!!!!!!
jj_8305 2008-11-17
  • 打赏
  • 举报
回复
第一个方法解决问题.
yijifeng 2008-09-23
  • 打赏
  • 举报
回复
帮分析一下,谢谢了!
yijifeng 2008-09-23
  • 打赏
  • 举报
回复
5:45:27,437 WARN UserSuppliedConnectionProvider:23 - No connection properties specified - the user must supply JDBC connections
15:45:27,453 ERROR HibernateUtil:33 - Initial SessionFactory creation failed.
org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2073)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1298)
at org.cat.HibernateUtil.<clinit>(HibernateUtil.java:27)
at org.apache.jsp.cat_jsp._jspService(cat_jsp.java:53)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
angel_167811 2008-07-26
  • 打赏
  • 举报
回复
错误提示:没有设置数据库方言(dialect)
错误原因:其实并不是你没有对dialect进行设置,而是你在使用hibernate的时候,没有调用配置文件,导致系统不能读出dialect信息。
解决办法:
方法一:

Configuration config = new Configuration();
SessionFactory sf=config.configure().buildSessionFactory();
Session s=sf.openSession();
而不是:(注意有颜色部分)
Configuration config = new Configuration();
SessionFactory sf=config.buildSessionFactory();
Session s=sf.openSession();

方法二:

写一个 hibernate.properties文件 放在src目录中,基本内容如下:

hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.password=sa
hibernate.connection.url=jdbc\:mysql\数据库url
hibernate.connection.username=root
hibernate.dialect=org.hibernate.dialect.MySQLDialect


呵呵
这也是看别人的
不过真的解决了问题哦!
勤劳滴小蜜蜂 2008-02-10
  • 打赏
  • 举报
回复
将 properties 文件放在 classpath 目录下就 OK
terranhao 2007-05-28
  • 打赏
  • 举报
回复
但我用的是properties的方式,不是xml的配置方式.配置文件应该放在工程的哪个位置呢?
li_d_s 2007-05-28
  • 打赏
  • 举报
回复
没有设置方言,hibernate.cfg.xml里面加上
<property name="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property>
net.sf.hibernate.dialect.MySQLDialect改成你自己的数据库的方言类,hibernate提供的

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧