本人是从php进行web编程,转换为java编程。想学习一下hibernate的使用。大多数应用hibernate,都是用IDE工具来开发。我想就用简单的cmd来完成,但发现了用并不顺畅。做了一个简单的测试来,在编译Test类。
package chen.hibernate;
import chen.hibernate.User;
//import org.hibernate.*;
import org.hibernate.cfg.*;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.HibernateException;
import org.hibernate.cfg.Configuration;
public class Test {
public static void main(String[] args) {
try
{
SessionFactory sf = new Configuration().configure().bulidSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
for (int i=0;i<3000;i++)
{
User user = new User();
user.setUsername("hibernate");
user.setPassword("123");
session.save(user);
}
tx.commit();
session.close();
System.out.println("ok");
}
catch (HibernateException e)
{
e.printStackTrace();
}
}
}
的时候,总是出错。老是提示找不到符号。
方法 bulidSessionFactory()
位置: 类 org.hibernate.cfg.Configuration
SessionFactory sf =
dSessionFactory();
Test.java:19: 找不到符号
符号: 类 Transation
位置: 类 chen.hibernate.Test
Transation tx = sess
^
Test.java:34: 找不到符号
符号: 类 HibernateException
位置: 类 chen.hibernate.Test
catch (HibernateException e)
buildSessionFactory()找不到类。初步估计是因为hibernate的包没有引用进来。
决定用google来查一下,看有没有有用的帮助。
关键词为hibernate+找不到符号符号:
花了整整一个下午,没找到原因。头好痛。
半小时后,发现一个字符错误。应Transaction。还剩两个错误
引入一个import org.hibernate.HibernateException后,错误减少为一个。
用javac -verbose chen/hibernate/Test.java后发现这些包都已经导入。
Test.java:16: 找不到符号
符号: 方法bulidSessionFactory()
位置: 类 org.hibernate.cfg.Configuration
SessionFactory sf = new Configuration().confi
^
gure().bulidSessionFactory();
初步原因分析:
SessionFactory sf = new Configuration().configure().bulidSessionFactory()找不到符号,可能因为configuration没引入,没有配置对?
Configuration是hibernate的入口.
三个小时后:
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
终于编译能过。
但新问题又出现了:
Error parsing XML: XML InputStream
加上
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
解决了这一问题。但
新的问题又出现了
log4j:WARN No appenders could be find for logger
log4j:WARN please initialize the log4j system properly
解决此问题,在hibernate.cfg.xml旁加log4j.properties配置文件。
运行时会出现:很多详细信息。
又出一问题:
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
at java.lang.Class.getDeclaredConstructors0(Native Method)
第二天中午查原因:
到这一步原因已经明显,hibernate2.0与3.0的包不同
在google的途中,看到了这样一句话:
多看文档,多思考,自己解决问题。
多写代码,多锻炼,程序不费力气。
还有点道理,有问题,一定要自己解决。
NoClassDefFoundError: org/objectweb/asm/Type
下一个问题:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/transaction/Synchronization
导入asm.jar,asm-attrs.jar,jta.jar,ehcache-1.2.3.jar,log4j-1.2.11.jar
就解决了以上问题。
终于成功了。
总结;
1)将hibernate必要的包放到classpath中。
2)将hibernate.cfg.xml放至classes下。
3)User.hbm.xml与User.class放到同一包中。
4)log4j.properties一定要添加,可以看到很多详细信息
5)解决中文乱码,采用?useUnicode=true&characterEncoding=UTF-8
分享到:
相关推荐
尝试对这个组合元素重新建模为一个实体-但是需要注意的是,虽然Java模型和重新建模前是一样的,关系模型和持久性语义会有细微的变化。 请注意如果你使用标签,一个组合元素的映射不支持可能为空的属性. 当删除...
hibernate分页查询 数据库连接,不错的分析,可以尝试下载易用。。
初学hibernate,尝试简单实现对数据库的更删改查操作,完成对数据库单表多表及主键与外键相关映射.
一个关于ssha最基础的集合的例子,还用到了json。这个小项目用到了struts,spring,hibernate,异步刷新(ajax),json等技术。如果你刚接触这几个框架,或是想尝试结合这几个框架,那这个项目对你来说很有用。
这是些经常会问到的hibernate优化尝试,
java jar打包命令详解 你是否尝试过将自己的项目打包后直接使用? 你是否想和Struts,Hibernate,Spring的框架一样,添加自己的jar包就可以使用了,这篇文章将为你详细讲解
这是用ExtJs2.0+struts2+hibernate3.0+spring2.5搭建起来的一个简单的图书管理系统,仅供参考,其中,我在里面尝试了两种定时任务
1、在dwr中尝试编写的一些通用的代码,包括如何编写一个通用的列表显示框并实现分页、如何编写一个通用的单行编辑框、如何编辑一个通用的存盘和删除程序等等。 <br>2、在dwr中如何与spring兼容,调用bus中的方法...
hibernate入门开发实践环境准备开发环境: Intellij IDEA本地mysql数据库创建Project新增项目,命名为 hibernate-demo创建目录结构 如下hibernate-demo/src/main/java/resources/test/java/resourcespom.xml依赖项...
gnome外壳扩展Hibernate状态 Gnome Shell扩展,在“状态”菜单中添加了一个Hibernate/混合暂停按钮。 最初由开发; 现在由维护。 支持GNOME 3.36。 常问问题 Hibernate不起作用 尝试从您的终端启动 systemctl ...
这是一个很好的东西喔,可以尝试下载下来喔!
利用Spring+SpringMVC+Hibernate+easyUI整合编写的一个预约DEMO,功能很简单,只是尝试将几个框架整合在一起
jruby Hibernate使用示例。 此示例使用Hibernate和MySQL后端作为 DOA 来保存基于Virtus模型的示例域聚合。要求jruby-1.7 mysql 5.x设置和运行如果需要,编辑hibernate.cfg.xml以... 尝试通过运行rake java:compile重新
新手初试牛刀,花了3天时间!各种版本不兼容!...尝试了6个版本的hibernate,3个版本的spring, 终于试出来了! 终于圆满了! 终于成功了! struts-2.3.16+hibernate-3.6.10+spring-framework-3.2.6 jdk-1.7.0
STRUTS:2.1.6 Hibernate:3.4.0 SPRING版本:2.5.6整合 应用了泛型来做抽象类,简化了开发,适合初学者下载下来学习,然后自己尝试着搭一遍框架,会对三大框架的配置以及功能会有更深入的认识。
可见使用Hibernate,在进行查询分页的操作上,是具有非常大的灵活性,Hibernate会首先尝试用特定数据库的分页sql,如果没用,再尝试Scrollable,如果不行,最后采用rset.next()移动的办法。 (一)pager类 * @(#)...
这里使用登入实例说明SSH框架配置,内容中详细说明配置的步骤,已经本人尝试证明可行
简单的搭建了一个SSH的开发框架,感兴趣的可以下载看看文章http://blog.csdn.net/senior_lee/article/details/48066503自己尝试搭建一个SSH的开发环境
源代码,但是删除了jar包 博文链接:https://itren.iteye.com/blog/258720
Spark-Shiro-Spark是Spring-Boot Hibernate Spark Spark-SQL Shiro iView VueJs ... ...的集成尝试 主要做了两件事 前一级分离下的用户认证和鉴权实践 Spring Boot与Spark的集成实践 欢迎批评指教