hibernate4-第一次使用hibernate就出错

问题描述

第一次使用hibernate就出错
使用hibernate4报错
Initial SessionFactory creation failed.java.lang.NullPointerException
Exception in thread ""main"" java.lang.ExceptionInInitializerError
at HibernateUtil.buildSessionFactory(HibernateUtil.java:22)
at HibernateUtil.(HibernateUtil.java:9)
at TestStudent.main(TestStudent.java:22)
Caused by: java.lang.NullPointerException
at HibernateUtil.buildSessionFactory(HibernateUtil.java:16)
... 2 more

mysql—connector-java使用的版本是5.1.22
hibernate使用的版本是4.3.5

以下是程序:

TestStudent.java
import javax.imageio.spi.ServiceRegistry;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.bjsxt.hibernate.model.Student;
public class TestStudent {
public static void main(String args[]){
Student s=new Student();
s.setId(1);
s.setName(""s1"");
s.setAge(1);
SessionFactory sf=HibernateUtil.getSessionFactory();
Session session=sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}

}

HibernateUtil.java
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static Configuration cfg=new Configuration();
private static SessionFactory buildSessionFactory() {
try {
return cfg.configure().buildSessionFactory(new StandardServiceRegistryBuilder().build());
}
catch (Throwable ex) {
// Make sure you log the exception as it might be swallowed
System.err.println(""Initial SessionFactory creation failed."" + ex);

        throw new ExceptionInInitializerError(ex);    }}public static SessionFactory getSessionFactory() {    return sessionFactory;}

}
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"">

<session-factory>    <property name=""javax.persistence.validation.mode"">none</property>     <!-- Database connection settings -->    <property name=""connection.driver_class"">com.mysql.jdbc.Driver</property>    <property name=""connection.url"">jdbc:mysql://localhost/hibernate</property>    <property name=""connection.username"">ru</property>    <property name=""connection.password"">qq</property>    <!-- JDBC connection pool (use the built-in) -->    <!--<property name=""connection.pool_size"">1</property>-->    <!-- SQL dialect -->    <property name=""dialect"">org.hibernate.dialect.MySQLDialect</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.internal.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"">update</property>-->   <mapping resource=""com/bjsxt/hibernate/model/Student.hbm.xml""/> </session-factory>

student.hbm.xml
<?xml version=""1.0""?>
<!DOCTYPE hibernate-mapping PUBLIC
-//Hibernate/Hibernate Mapping DTD 3.0//EN""
http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"">

时间: 2024-11-30 02:38:41

hibernate4-第一次使用hibernate就出错的相关文章

spring和hibernate整合出错,请大神帮忙解决,谢谢

问题描述 spring和hibernate整合出错,请大神帮忙解决,谢谢 <!-- Hibernate和spring整合的配置 配置SessionFactory --> <!-- 指定hibernate的配置文件位置 --> <!-- 配置c3p0数据库连接池 --> <!--通过反射设置set方法--> <!-- 数据连接信息 --> <!-- 其他配置 --> <!-- 初始化时获取三个连接,取值应在minPoolSize与

eclispe android-eclipse第一次创建android工程出错,请大神指教

问题描述 eclipse第一次创建android工程出错,请大神指教 解决方案 工程make编译一下看看,有些出现红色的X是因为没有编译. 解决方案二: 看下环境配置是否正确.新建项目就出错一般是环境的问题 解决方案三: 不知道你的adt是不是自己装的,我之前也遇过,后来用google已集成的adt就没事了,要我可以发给你

Spring2.5MVC和hibernate集成出错,事务问题

问题描述 下面是我spring的配置文件 ,service中我也使用了@Transactional(propagation=Propagation.REQUIRED),配置文件中也配置了,为什么会出现这样的错误啊 错误:org.hibernate.HibernateException: createQuery is not valid without active transactionspring.xml<?xml version="1.0" encoding="UT

Hibernate insert出错!

问题描述 以下是错误信息!我用的是OracleHTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.springframework.dao.DataIntegrityViolationException: Could no

hibernate update出错

问题描述 publicvoidupdatepwd(Stringpassword,intid){Stringqhl="updateMembersetpassword=?whereid=?";Queryq=this.getSession().createQuery(qhl);q.setInteger(1,id);q.setString(0,password);q.executeUpdate();}报错org.hibernate.hql.ast.QuerySyntaxError:unexpe

spring+hibernate 配置文件出错

问题描述 hibernate.cfg.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd&qu

springMvc hibernate 搭建出错

问题描述 org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'studentController':Injectionofautowireddependenciesfailed;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Couldnotautowirefield:publiccom.

使用Hibernate 连接SQL Server 2000

server 以下代码在 JDK 5.0, Hibernate 2.1, SQL Server 2000 SP3 中测试通过.            第一次使用Hibernate作持久层,感觉使用起来还是比较复杂的,尤其是调试起来很不方便.Hibernate 基于反射的机制虽然很灵活,但明显给跟踪代码制造了障碍,给出的异常信息量也太少.个人感觉其改进的余地还很大,比如Java新增加了Annotation语法后,是否可使用它来定义ORM,而取代hbm.xml的形式.        好了,进入正题.

Hibernate框架中的缓存技术详解_java

本文实例讲述了Hibernate框架中的缓存技术.分享给大家供大家参考,具体如下: Hibernate框架的缓存分为Session的缓存.SessionFactory的缓存,也称为一级缓存和二级缓存. 一级缓存: 一级缓存是Session级的缓存,其生命周期很短,与Session相互对应,由Hibernate进行管理,属于事务范围的缓存.当程序调用 Session的load()方法.get()方法.save()方法.saveOrUpdate()方法.update()方法或查询接口方法时,Hibe