站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题一个eclipse与hibernate的菜鸟问题(急)!

一个eclipse与hibernate的菜鸟问题(急)!

摘要: 一个eclipse与hibernate的菜鸟问题(急)!


小弟我用到了eclipse3.2.1 jdk1.5 hibernate3.0
用到了lib为:
c3p0-0.9.0.jar,cglib-2.1.2.jar,commons-collections-2.1.1.jar,commons-logging-1.0.4.jar
dom4j-1.6.1.jar,hibernate3.jar,jdbc2_0-stdext.jar,jta.jar,log4j-1.2.11.jar,
mysql-connector-java-3.1.12-bin.jar,naming-factory.jar,naming-resources.jar,
xercesImpl.jar,xml-apis.jar。书上还有个lib,但是我找不到(xalan.jar)

我虽然是照着书这的这个程序,但是书上写的也不完整,也没光盘,所以小弟我就想请这里的朋友帮我解决一下,小弟我将不胜感激。

有main的.java主程序:
package com.weportal.computer;

import java.sql.SQLException;
import org.apache.log4j.PropertyConfigurator;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

/**
// * qingye's type
*
* @author qingye
*
* version 1.0
*
*/
public class ComputerCreate {
public static void main(String[] args)throws HibernateException{
PropertyConfigurator.configure("log4j.Properties");
Configuration cfg=new Configuration();
cfg.configure();
//cfg.addResource("hibernate.cfg.xml");
SessionFactory sf=cfg.buildSessionFactory();
Session ses=sf.openSession();
Computer pc=new Computer();
pc.setcpu("AMD2 3600+");
pc.setmemery("Kingston");
pc.setdisplaycard("GForce 6600");
pc.setharddisk("GJ");
pc.setdisplay("IBM");
pc.setmouse("BD");
pc.setkeyboard("BD");
ses.save(pc);
ses.flush();
try{
ses.connection().commit();
}catch(HibernateException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}
ses.close();
}
}

log4j.properties文件里写到:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Targer=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.rootLogger=warn,stdout

还有一个computer.java 里面主要是定义了 getXXX 和 setXXX 的方法;

这是我的computer.hbm.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">





















这是我的hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


true
org.hibernate.dialect.MySQLDialect
org.gjt.mm.mysql.Driver
jdbc:mysql://localhost:3306/hibernate
root
qingye




ComputerCreate.java 、Computer.java 和 Computer.hbm.xml 放在 :
MyFirst/src/com/weportal/computer 的下面
而hibernate.cfg.xml放在src的下面。。。这样应该可以了吧~!
结果 我一运行。出现以下问题:

提示报错:
Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Type
at net.sf.cglib.core.TypeUtils.parseType(TypeUtils.java:180)
at net.sf.cglib.core.KeyFactory.(KeyFactory.java:66)
at net.sf.cglib.proxy.Enhancer.(Enhancer.java:69)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:111)
at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.(AbstractEntityTuplizer.java:135)
at org.hibernate.tuple.entity.PojoEntityTuplizer.(PojoEntityTuplizer.java:55)
at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:56)
at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:269)
at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:425)
at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:109)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:226)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218)
at com.weportal.computer.ComputerCreate.main(ComputerCreate.java:23)

小弟只学过java编程,这还是第一次接触这些,连怎样自动生成配置文件也不懂,更别说写个配置文件了,但是小弟我喜欢上了这方面的编程,希望大家帮我把。
小弟求 大家帮我看看 是哪里出错了,,小弟才学eclipse,连插件也装了好几天,刚写了个hibernate方面的程序,结果。。。。55555555555555
小弟跪求了~!



从报错可以看出差asm.jar 文件,该文件位于/lib目录下。Hibernate 程序的运行一般要包含许多jar文件,常规设置CLASSPATH变量的方法并不方便。这里可以借助写ant文件方式运行,另外,既然使用Eclipse,还可以建一个变量,就像Eclipse工程默认一样,把所有需要的jar文件包含在一个变量中,方法就是右击工程-属性--Libraries---Next----输变量名-,建好后将其加入工程中就行了。
如果不使用集成开发环境的话,另一种方式更简单,直接在命令行中输入
Java -Djava.endorsed.dirs=<所有jar文件所在目录> <运行文件>就好了


一般都是路徑的問題.好好看看,幫忙頂.


看來就頂以下 你的jar少一個 或者路徑的問題


^_^`好长啊~不明白


谢谢啊,,,CSDN中这是 NB的人多,热心的人也多啊。。。。。


↑返回目录
前一篇: hibernate达人请进,我们经理都解决不了的问题
后一篇: tomcat在哪下载呀