`
lee79
  • 浏览: 105972 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate3环境

阅读更多

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();

分享到:
评论

相关推荐

    springmvc3.1+hibernate3环境搭建架包

    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包”确保了这些关键组件的存在,使得开发者可以快速地搭建一个具备基本功能的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所需JAR包”是一个完整的Hibernate3环境搭建所需的集合,涵盖了框架的核心功能及其依赖,以及与数据库交互所需的驱动,是Java开发者进行ORM开发的重要资源。正确理解和使用这些JAR包,...

    hibernate3资源包

    使用这些JAR包,开发者可以构建一个完整的Hibernate 3环境,进行实体定义、配置数据库连接、执行CRUD操作(创建、读取、更新、删除)以及实现复杂的查询。例如,通过配置`hibernate.cfg.xml`文件,指定数据库连接...

    Hibernate3框架系列 [ 1 ]

    总结来说,本系列文章将带领读者从零开始搭建Hibernate3环境,理解其配置细节,并通过实例演示如何利用Hibernate实现数据库的CURD操作。这不仅是对Hibernate3基本功能的掌握,也为后续深入学习和应用ORM框架奠定了...

    hibernate3 所需要的所有jar包

    这些jar包组合在一起,为开发者提供了完整的Hibernate3环境,可以方便地进行对象关系映射(ORM),并简化了数据库操作。在实际开发中,还需要根据项目需求,可能需要添加其他的依赖,如Spring框架整合Hibernate时所...

    一步一步教你Strus2+Spring3+Hibernate3环境整合搭建

    最近在群里好多朋友,不管认识还是不认识的,都问到SSH2框架整合搭建的问题。于是乎,抽了个空,理了个文档出来,里面是整合搭建的详细步骤以及截图,并附上了使用到的相应jar包。新手的最佳选择。

    hibernate3.zip

    通过这个"hibernate3.zip"压缩包,你可以获取到完整的Hibernate3环境,包括所需的库文件、示例代码、文档等。学习Hibernate3将帮助你更好地理解和应用ORM技术,提高开发效率,减少与数据库交互的复杂性。在实践中,...

    在Eclipse中搭建hibernate项目环境步骤

    在 Eclipse 中搭建 Hibernate 项目环境步骤 在本文中,我们将详细介绍如何在 Eclipse 中搭建 Hibernate 项目环境的步骤。Hibernate 是一个流行的 Java 持久层框架,提供了对数据库的访问和操作功能。通过本文,读者...

    Hibernate的连接池和数据源配置

    例如,配置C3P0时的provider_class有Hibernate2环境下使用net.sf.hibernate.connection.C3P0ConnectionProvider,在Hibernate3环境下使用org.hibernate.connection.C3P0ConnectionProvider。 下面是Hibernate环境下...

    hibernate3所需的jar包

    本压缩包提供的“hibernate3所需的jar包”是用于搭建Hibernate3环境的基础库,这些库文件包括了Hibernate框架本身以及其依赖的其他库。下面将详细介绍这些jar包及其作用: 1. **hibernate3.jar**:这是Hibernate的...

    hibernate搭建环境超详细解

    其中,`lib`中的`required`目录包含所有必需的JAR包,如`hibernate3.jar`,这是Hibernate运行的核心。此外,还需要手动下载并添加以下JAR包至项目: - `commons-lang-2.3.jar` - `slf4j-api-1.5.8.jar` - `log4j-...

    hibernate连接池配置

    如果在Hibernate 3环境中必须使用DBCP,官方建议通过JNDI(Java Naming and Directory Interface)方式进行配置,以避免直接依赖特定的连接池实现。 2. **Hibernate内置连接池**: - 当未配置任何连接池时,...

    第一次搭建hibernate环境

    **标题:“第一次搭建Hibernate环境”** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使开发者能够用Java对象来处理数据库事务。搭建Hibernate环境是开始使用该框架的第...

    hibernate3的jar包

    Hibernate3 是一个强大的Java对象关系映射(ORM)框架,它极大地简化了数据库与Java应用程序之间的交互。在Java开发中,Hibernate3 提供了丰富的API和功能,使得开发者可以更加专注于业务逻辑,而不是繁琐的数据访问...

    Hibernate4.1环境搭建

    3. **配置Hibernate4支持**: - 向项目添加Hibernate4的相关依赖。 - 创建`SessionFactory`实例时,建议将Hibernate的配置信息直接写入Spring的配置文件中,而不是单独创建一个`hibernate.cfg.xml`文件。这是因为...

    hibernate3 jar 包

    "hibernate3 jar 包"指的是Hibernate框架的第三个主要版本的Java Archive(JAR)文件集合。Hibernate是一个开放源代码的对象关系映射(ORM)框架,它允许开发人员使用面向对象的方式来操作数据库,而无需直接编写SQL...

    hibernate3.rar

    Hibernate3是一款著名的Java持久化框架,它为Java开发者提供了一种高效、便捷的方式来操作数据库,大大简化了在Java应用中处理数据库的工作。与传统的JDBC(Java Database Connectivity)相比,Hibernate提供了一种...

    Hibernate5.2.4环境搭建源码

    **Hibernate 5.2.4 环境搭建与源码解析** Hibernate 是一个流行的 Java 对象关系映射(ORM)框架,它极大地简化了数据库操作。在本教程中,我们将详细探讨如何搭建 Hibernate 5.2.4 的开发环境,并理解其源码。 ...

Global site tag (gtag.js) - Google Analytics