Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

初学Hibernate一些异常解决方案

$
0
0
java.lang.ExceptionInInitializerError
	at org.hibernate.cfg.Configuration.reset(Configuration.java:168)
	at org.hibernate.cfg.Configuration.<init>(Configuration.java:187)
	at org.hibernate.cfg.Configuration.<init>(Configuration.java:191)
	at com.bjsxt.hibernate.model.StudentTest.test1(StudentTest.java:15)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Caused by: java.lang.NullPointerException
	at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:144)
	at org.hibernate.cfg.Environment.<clinit>(Environment.java:515)
	... 27 more

静态初始化程序中发生意外异常的信号。抛出 ExceptionInInitializerError 表明在计算静态初始值或静态变量的初始值期间发生异常。结果造成空指针异常。主要是hibernate.cfg.xml和xxx.hbm.xml配置出现问题。

The database returned no natively generated identity value
映射部分内容如下:

<class name="Student"  lazy="true">
		<comment>Users may bid for or sell auction items.</comment>
	<id name="id">
			<generator class="identity"></generator>
		</id>
		<property name="name"></property>
		<property name="age"></property>		       
	</class>
在指定主键生成策略的时候、配置了<generator class="identity"/> 、这是提供自动增长、为数据表中的主键自动增长、但是如果数据库没有定义id列为自动增长的话、就会出现The database returned no natively generated identity value错误、所以要在数据库中手动定义id列自动增长

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。我们没有配置log4j文件所致。

解决方法:

将log4j.properties放到classpath的文件夹里。classpath文件夹的位置可以在eclipse自动生成的.classpath文件中找到,一般是你的src目录或者是最顶级的project对应的文件夹根目录(我说的清楚吗?呵呵)。将这个文件放好之后问题就解决了。
log4j.properties文件的内容中写入下面的信息即可,保存成log4j.properties的文件。

log4j.rootLogger=WARN, Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=(%r ms) [%t] %-5p: %c#%M %x: %m%n
log4j.logger.com.genuitec.eclipse.sqlexplorer=DEBUG
log4j.logger.org.apache=WARN
log4j.logger.net.sf.hibernate=WARN







作者:acm365 发表于2013-6-13 15:48:19 原文链接
阅读:35 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>