学习搭建Hibernate开发时,报错java.lang.ExceptionInInitializerEr
具体情况:项目使用的相关文件 :hibernate-distribution-3.3.2.GA
我使用的Hibernate文件可以从这里下载
步骤如下:
最后项目中的Hibernate共有11个jar文件:
然后按照常规的写了一个POJO类,
代码
- package
com.hibernate; -
- import
javax.persistence.Entity; - import
javax.persistence.Id; -
- @Entity
- public
class User implements java.io.Serializable { -
private int id; -
private String name; -
private String passwd; -
-
@Id -
public int getId() { -
return id; -
} -
public void setId(int id) { -
this.id = id; -
} -
public String getName() { -
return name; -
} -
public void setName(String name) { -
this.name = name; -
} -
public String getPasswd() { -
return passwd; -
} -
public void setPasswd(String passwd) { -
this.passwd = passwd; -
} -
- }
配置文件 :hibernate.cfg.xml
-
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" -
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> -
- <</SPAN>hibernate-configuration>
- <</SPAN>session-factory>
-
<</SPAN>property name="connection.url">jdbc:mysql://localhost:3306/jdbc</</SPAN>property> -
<</SPAN>property name="connection.driver_class">com.mysql.jdbc.Driver</</SPAN>property> -
<</SPAN>property name="connection.username">root</</SPAN>property> -
<</SPAN>property name="connection.password">123</</SPAN>property> -
<</SPAN>property name="dialect">org.hibernate.dialect.MySQLDialect</</SPAN>property> -
<</SPAN>property name="show_sql">true</</SPAN>property> -
<</SPAN>property name="format_sql">true</</SPAN>property> -
<</SPAN>property name="connection.pool_size">1</</SPAN>property> -
<</SPAN>property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</</SPAN>property> -
<</SPAN>property name="current_session_context_class">thread</</SPAN>property> -
-
<</SPAN>mapping class="com.hibernate.User" /> -
- </</SPAN>session-factory>
- </</SPAN>hibernate-configuration>
自动建表类 :CreateDB.java
- import
org.hibernate.cfg.AnnotationConfiguration; - import
org.hibernate.cfg.Configuration; - import
org.hibernate.tool.hbm2ddl.SchemaExport; -
- public
class CreateDB { -
public static void main(String[] args) { -
-
Configuration cfg = new AnnotationConfiguration().configure(); -
SchemaExport sExport = new SchemaExport(cfg); -
-
sExport.create(true, true); -
} - }
运行报错报错:
查了半天没找到原因,有的说是没有
最后百度老久发现原来是将User Library加入到System Library的原因 ,编辑一下刚才新建的User Library,
把System Library(added to the boot class )path
具体是什么原理我也不知道,哪位大神要是知道,还望不惜赐教 !!