`

Connection cannot be null when 'hibernate.dialect' not set

阅读更多

学习hibernate的首日写了个小程序就出现了bug,找了点资料还是很快给解决了

刚开始的时候是:

 

package cn.edu.njupt.zzq.hibernatestudy.domain.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import cn.edu.njupt.zzq.hibernatestudy.domain.Student;

public class StudentTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
      Student s=new Student();
      s.setId(2);
      s.setName("强强");
      s.setAge(20);
      Configuration cgf=new Configuration();
     /////////////////////////////////
     SessionFactory sf=cgf.buildSessionFactory();
    /////////////////////////////////////////
     Session session=sf.openSession();
      session.beginTransaction();
      session.save(s);
      session.getTransaction().commit();
      session.close();
      sf.close();
      
		
	}

}

红色的地方出错了,应该写成,加上蓝色的方法

 

 

SessionFactory sf=cgf.configure().buildSessionFactory();

这样就行了啊!

 

但是上面这个方法已经过时了

下面给个不过时的:

 

	public static void main(String[] args) {
      Student s=new Student();
      s.setId(3);
      s.setName("强强");
      s.setAge(20);
      Configuration cgf=new Configuration();
      //SessionFactory sf=cgf.configure().buildSessionFactory();
      cgf.configure();//不要缺少或写在下面,这个是configure和serviceregistry之间
      ServiceRegistry  sr = new ServiceRegistryBuilder().applySettings(cgf.getProperties()).buildServiceRegistry(); 
      SessionFactory sf = cgf.buildSessionFactory(sr);
      Session session=sf.openSession();
      session.beginTransaction();
      session.save(s);
      session.getTransaction().commit();
      session.close();
      sf.close();
      



 

分享到:
评论

相关推荐

    hibernate.properties

    hibernate.dialect org.hibernate.dialect.HSQLDialect hibernate.connection.driver_class org.hsqldb.jdbcDriver hibernate.connection.username sa hibernate.connection.password hibernate.connection.url jdbc...

    hibernate3.6.0dialect.jar

    hibernate3.6.0dialect.jar

    Hibernate连接SQLite配置说明和方言代码

    1.1、将两个jar包:com.zy.hibernate.dialect.SQLiteDialect.jar、sqlite-jdbc-3.7.2.jar拷贝到“\WEB-INF\lib”文件夹下; 2、配置hibernate: 2.1、将“hibernate\hibernate.cfg.xml”拷贝到“\WEB-INF\classes”...

    Hibernate4.0以上 SQLiteDialect.java

    hibernate 4以上Hibernate.INTEGER之类的不能使用了,之前使用的SQLiteDialect.java编译不过去了,这个可以。

    Hibernate不同数据库的连接及SQL方言

    Hibernate提供了多种SQL方言,例如org.hibernate.dialect.OracleDialect、org.hibernate.dialect.MySQLDialect、org.hibernate.dialect.SQLServerDialect等。我们可以在配置文件中使用元素来设置SQL方言,例如: ...

    ssh整合,不带hibernate.cfg.xml的方式

    hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.url=jdbc:mysql://localhost:3306/mydb hibernate.connection.username=...

    Hibernate 配置各种数据库

    hibernate.dialect = org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url = jdbc:mysql:///test hibernate.connection.username = gavin ...

    kingbase8-Finaldialect-5.2.17.jar

    亲测可以使用kingbase8-Finaldialect-5.2.17.jar kingbase8-8.2.0.jar

    数据库连接字符串

    oracle连接字符串: class:oracle.jdbc.driver.OracleDriver url:"jdbc:oracle:thin:@localhost:1521:jbitdb","epet","epet" sqlserver: ...url:"jdbc:sqlserver:/...Firebird org.hibernate.dialect.FirebirdDialect

    hibernate SQLServer2008Dialect

    SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)

    GBase_Hibernate3.2.3_GA-Dialect_8.3.81.51_build50.1.jar

    南大通用GBase数据库GBase_Hibernate3.2.3_GA-Dialect_8.3.81.51_build50.1.jar

    javaee 书上的Customer程序

    hibernate.dialect=org.hibernate.dialect.SQLServerDialect hibernate.connection.driver_class=com.microsoft.sqlserver.jdbc.SQLServerDriver hibernate.connection.url=jdbc\:sqlserver\://localhost\:1433;...

    hibernate.properties详解

    - `hibernate.dialect`:指定使用的方言,这里为`org.hibernate.dialect.HSQLDialect`。 - `hibernate.connection.driver_class`:数据库驱动类。 - `hibernate.connection.username` 和 `hibernate.connection....

    DmDialect-for-hibernate4.0.zip

    在SpringBoot集成Hibernate时,通过配置`spring.jpa.hibernate.dialect`属性,指定使用DmDialect,就能让Hibernate知道如何与达梦数据库进行有效通信。这样,开发人员就可以利用Hibernate的高级特性,如懒加载、事务...

    hibernate.cfg.xml文件详细解释

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect ``` **说明**:方言配置用于告诉 Hibernate 使用哪种数据库特定的 SQL 语法。例如,对于 MySQL 数据库,通常会使用 `org.hibernate....

    hibernate.cfg.xml 配置 和数据库驱动

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect <property name="hibernate.show_sql">true ``` 3. **SessionFactory配置**:SessionFactory是Hibernate的核心对象,负责创建Session,...

    hibernate.cfg.xml中配置信息详解

    Hibernate.dialect 属性用于指定 Hibernate 的数据库 dialect(方言),该属性的值是一个 Hibernate Dialect 类名,例如 org.hibernate.dialect.OracleDialect。该属性的作用是允许 Hibernate 针对特定的关系数据库...

    kingbasehibernate3.3.2dialect.jar

    hibernate下的kingbase的jar文件,需要的同学自行下载

    hibernate3dialect

    hibernate3dialect

Global site tag (gtag.js) - Google Analytics