1. 相关JAR包
hibernate3.jar
antlr.jar
asm.jar
asm-attrs.jars
cglib.jar
commons-collections.jar
commons-logging.jar
dom4j.jar
ehcache.jar
jta.jar
log4j.jar
2. 获取SessionFactory时报异常:net/sf/ehcache/CacheException
代码
Configuration configuration = new Configuration()
.addResource("com/metaarchit/bookshop/Book.hbm.xml")
.setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect")
.setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver")
.setProperty("hibernate.connection.url", "jdbc:hsqldb:hsql://localhost/BookShopDB")
.setProperty("hibernate.connection.username", "sa")
.setProperty("hibernate.connection.password", "")
.setProperty("hibernate.cache.provider_class", "org.hibernate.cache.EhCacheProvider");
SessionFactory factory = configuration.buildSessionFactory();
异常:
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
at java.lang.Class.getConstructor0(Class.java:2640)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)
at org.hibernate.cfg.SettingsFactory.createCacheProvider(SettingsFactory.java:358)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:232)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1933)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1216)
原因:少了ehcache.jar
3. iterate(), list()
Hibernate3 取消 2中的Session 中 find()、iterate() 方法,find()必須使用Session的createQuery()建立Query實例,並使用list()方法來取代。terate()被取消了,由Query介面上的iterator()來取代,詳請看 Query.list()、iterator()。
遇到一个很奇怪的问题,Hibernate3中iterate()属性为空
Iterator it = db().createQuery("from Book").iterate();
while (it.hasNext()) {
Object o = it.next(); //在IDEA中的调试窗口中看到的对像的属性值竞然为空(试了下hibernate2:db().iterate("from Book")却正常的),但如果强制类型转换后,System.println(((Book)o).getName());却是有值的
...
}
}
但如果是list()方法,则是正常的
List list = db().createQuery(query).list();
for (int i = 0; i < list.size(); i++) {
Object o = list.get(i);
...
}
4. 批量删除
Hibernate2:
sessionFactory.openSession().delete("from Book");
Hibernate3:
sessionFactory.createQuery("delete from Book").executeUpdate();
5. 批量更新
Hibernate2:
for (...) {
Book book = sessionFactory.openSession().load(id);
sessionFactory.openSession().delete(book);
}
Hibernate3:
sessionFactory.createQuery("update Book b set b.price = b.price + 1 where b.price < 20").executeUpdate();
分享到:
相关推荐
1. hibernate3.jar:主库,包含了所有核心的Hibernate类。 2. jta-1.1.jar:支持Java Transaction API,用于处理数据库事务。 3. commons-collections-*.jar:Hibernate依赖的集合工具库。 4. dom4j-*.jar:用于XML...
这个“hibernate3必要jar包”确保了这些关键组件的存在,使得开发者可以快速地搭建一个具备基本功能的Hibernate3环境,进行数据库操作。不过,为了完整的项目开发,可能还需要其他依赖,例如数据库驱动 jar 包(如...
本人也是初学者,初次建造hibernate开发环境,幸运的是成功了,现在那出来分享下。内有hibernate运行说需的jar包(asm.zip, cglib-2.1_2jboss.jar, dom4j-1.6.1.jar ,hibernate3.jar, jta.jar)
总的来说,这个“hibernate3所需JAR包”是一个完整的Hibernate3环境搭建所需的集合,涵盖了框架的核心功能及其依赖,以及与数据库交互所需的驱动,是Java开发者进行ORM开发的重要资源。正确理解和使用这些JAR包,...
使用这些JAR包,开发者可以构建一个完整的Hibernate 3环境,进行实体定义、配置数据库连接、执行CRUD操作(创建、读取、更新、删除)以及实现复杂的查询。例如,通过配置`hibernate.cfg.xml`文件,指定数据库连接...
总结来说,本系列文章将带领读者从零开始搭建Hibernate3环境,理解其配置细节,并通过实例演示如何利用Hibernate实现数据库的CURD操作。这不仅是对Hibernate3基本功能的掌握,也为后续深入学习和应用ORM框架奠定了...
这些jar包组合在一起,为开发者提供了完整的Hibernate3环境,可以方便地进行对象关系映射(ORM),并简化了数据库操作。在实际开发中,还需要根据项目需求,可能需要添加其他的依赖,如Spring框架整合Hibernate时所...
最近在群里好多朋友,不管认识还是不认识的,都问到SSH2框架整合搭建的问题。于是乎,抽了个空,理了个文档出来,里面是整合搭建的详细步骤以及截图,并附上了使用到的相应jar包。新手的最佳选择。
通过这个"hibernate3.zip"压缩包,你可以获取到完整的Hibernate3环境,包括所需的库文件、示例代码、文档等。学习Hibernate3将帮助你更好地理解和应用ORM技术,提高开发效率,减少与数据库交互的复杂性。在实践中,...
在 Eclipse 中搭建 Hibernate 项目环境步骤 在本文中,我们将详细介绍如何在 Eclipse 中搭建 Hibernate 项目环境的步骤。Hibernate 是一个流行的 Java 持久层框架,提供了对数据库的访问和操作功能。通过本文,读者...
例如,配置C3P0时的provider_class有Hibernate2环境下使用net.sf.hibernate.connection.C3P0ConnectionProvider,在Hibernate3环境下使用org.hibernate.connection.C3P0ConnectionProvider。 下面是Hibernate环境下...
本压缩包提供的“hibernate3所需的jar包”是用于搭建Hibernate3环境的基础库,这些库文件包括了Hibernate框架本身以及其依赖的其他库。下面将详细介绍这些jar包及其作用: 1. **hibernate3.jar**:这是Hibernate的...
其中,`lib`中的`required`目录包含所有必需的JAR包,如`hibernate3.jar`,这是Hibernate运行的核心。此外,还需要手动下载并添加以下JAR包至项目: - `commons-lang-2.3.jar` - `slf4j-api-1.5.8.jar` - `log4j-...
如果在Hibernate 3环境中必须使用DBCP,官方建议通过JNDI(Java Naming and Directory Interface)方式进行配置,以避免直接依赖特定的连接池实现。 2. **Hibernate内置连接池**: - 当未配置任何连接池时,...
**标题:“第一次搭建Hibernate环境”** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使开发者能够用Java对象来处理数据库事务。搭建Hibernate环境是开始使用该框架的第...
Hibernate3 是一个强大的Java对象关系映射(ORM)框架,它极大地简化了数据库与Java应用程序之间的交互。在Java开发中,Hibernate3 提供了丰富的API和功能,使得开发者可以更加专注于业务逻辑,而不是繁琐的数据访问...
3. **配置Hibernate4支持**: - 向项目添加Hibernate4的相关依赖。 - 创建`SessionFactory`实例时,建议将Hibernate的配置信息直接写入Spring的配置文件中,而不是单独创建一个`hibernate.cfg.xml`文件。这是因为...
"hibernate3 jar 包"指的是Hibernate框架的第三个主要版本的Java Archive(JAR)文件集合。Hibernate是一个开放源代码的对象关系映射(ORM)框架,它允许开发人员使用面向对象的方式来操作数据库,而无需直接编写SQL...
Hibernate3是一款著名的Java持久化框架,它为Java开发者提供了一种高效、便捷的方式来操作数据库,大大简化了在Java应用中处理数据库的工作。与传统的JDBC(Java Database Connectivity)相比,Hibernate提供了一种...
**Hibernate 5.2.4 环境搭建与源码解析** Hibernate 是一个流行的 Java 对象关系映射(ORM)框架,它极大地简化了数据库操作。在本教程中,我们将详细探讨如何搭建 Hibernate 5.2.4 的开发环境,并理解其源码。 ...