`
j2ee_zhongqi
  • 浏览: 208847 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernate 通过jar文件加载映射文件

 
阅读更多
配置文件这样写:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" depends-on="scstDatasource">
		<!-- <property name="dataSource" ref="dataSource" /> -->
		<property name="dataSource" ref="scstDatasource" />
        <property name="mappingJarLocations">
            <list>
                <!-- Also change the mail sender mode -->
                <!-- 以下配置用于测试环境 
                <value>file:WebContent/WEB-INF/lib/jbpm-3.1.4.jar</value>
                <value>file:WebContent/WEB-INF/lib/jbpm-identity-3.1.4.jar</value>
                <value>file:WebContent/WEB-INF/lib/cdl-scst-hbm.jar</value>
				-->
				
                <!-- 以下配置用于生产环境 -->
                <value>WEB-INF/lib/jbpm-3.1.4.jar</value>
                <value>WEB-INF/lib/jbpm-identity-3.1.4.jar</value>
                <value>WEB-INF/lib/cdl-scst-hbm.jar</value>

            </list>
        </property>
.......剩余部分省略


Hibernate 是通过以下源码来加载jar文件,完成上面的配置:
public Configuration addJar(File jar) throws MappingException {   
        log.info( "Searching for mapping documents in jar: " + jar.getName() );   
        JarFile jarFile = null;   
        try {   
            try {   
                jarFile = new JarFile( jar );   
            }   
            catch (IOException ioe) {   
                throw new InvalidMappingException(   
                        "Could not read mapping documents from jar: " + jar.getName(), "jar", jar.getName(),   
                        ioe   
                );   
            }   
            Enumeration jarEntries = jarFile.entries();   
            while ( jarEntries.hasMoreElements() ) {   
                ZipEntry ze = (ZipEntry) jarEntries.nextElement();   
                if ( ze.getName().endsWith( ".hbm.xml" ) ) {   
                    log.info( "Found mapping document in jar: " + ze.getName() );   
                    try {   
                        addInputStream( jarFile.getInputStream( ze ) );   
                    }   
                    catch (Exception e) {   
                        throw new InvalidMappingException(   
                                "Could not read mapping documents from jar: " + jar.getName(),   
                                "jar",   
                                jar.getName(),   
                                e   
                        );   
                    }   
                }   
            }   
        }   
        finally {   
            try {   
                if ( jarFile != null ) {   
                    jarFile.close();   
                }   
            }   
            catch (IOException ioe) {   
                log.error("could not close jar", ioe);   
            }   
        }   
  
        return this;   
    }  

分享到:
评论
2 楼 j2ee_zhongqi 2011-07-08  
检查你的jar文件是否正确,或者路径
1 楼 weibei 2011-07-07  
我的配置跟你一样 还是报了错
Could not read mapping documents from jar: tasCore.jar

相关推荐

    Hibernate4 jar包及配置文件

    2. hbm.xml文件:每个Java实体类对应的映射文件,用于描述数据库表结构和Java类之间的对应关系,包括字段映射、主键策略等。 在实际应用中,我们还需要了解如何创建SessionFactory,它是Hibernate的主要入口点,...

    hibernate-jar

    7. **Mapping**:通过注解或者XML文件,Hibernate将Java对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作数据库。 8. **Event Listeners**和**Interceptors**:允许自定义行为,如在对象持久化、...

    hibernate的jar包

    1. **对象关系映射(ORM)**:Hibernate是一种ORM工具,它通过映射Java类到数据库表,使得开发者可以使用对象而不是SQL语句来操作数据库,提高了开发效率并降低了数据库操作的复杂性。 2. **配置文件**:Hibernate...

    hibernate必须jar文件

    3. **持久化模型**:Hibernate通过XML或注解定义实体类,将Java对象映射到数据库表。`hibernate-annotations.jar`和`hibernate-entitymanager.jar`提供了注解支持,使得在Java类中直接定义持久化属性成为可能。 4. ...

    Hibernate必备jar文件

    这些jar文件是Hibernate框架的核心组件和其他依赖库,它们提供了对对象关系映射(ORM)的支持,允许开发者用面向对象的方式操作数据库。 1. **hibernate-core-4.1.4.Final.jar**:这是Hibernate框架的核心库,包含...

    hibernate5相关jar包

    - `javassist.jar`:Hibernate使用它来动态生成代理类和字节码,以实现延迟加载和其他高级特性。 - `dom4j.jar`:用于XML处理,Hibernate使用它来解析和生成HBM(Hibernate Mapping)文件。 - `slf4j-api.jar` 和...

    hibernate3必要jar包

    4. **对象关系映射**:Hibernate通过XML映射文件(或使用注解)将Java类与数据库表对应起来,使得在对象层操作数据变得简单。 5. **查询语言**:Hibernate支持HQL(Hibernate Query Language),一种面向对象的查询...

    hibernate jar包

    在开发过程中,使用这个“hibernate jar包”可以快速搭建Hibernate环境,只需将这些jar文件添加到项目的类路径中,然后配置相应的Hibernate配置文件(如hibernate.cfg.xml),就可以开始使用Hibernate进行持久化操作...

    hibernate.jar包

    同时,还需要为每个持久化类创建对应的映射文件,定义类与表的对应关系,属性与列的映射,以及主键生成策略等。最后,通过SessionFactory创建Session实例,使用Session进行CRUD(Create、Read、Update、Delete)操作...

    hibernate相关jar包

    在实际项目中,将这些JAR文件添加到项目的类路径(classpath)中,就可以利用Hibernate的功能进行数据库操作。 描述中提到的"hibernate-release-5.2.2.Final"是Hibernate的一个具体版本,表示这个压缩包包含了...

    hibernate3.3.2jar包

    标题"hibernate3.3.2jar包"指的是Hibernate ORM框架的一个特定版本,即3.3.2版本的Java Archive (JAR) 文件。Hibernate是一个流行的对象关系映射(ORM)工具,它允许开发人员使用Java对象来操作数据库,而无需直接...

    hibernate基本jar包

    同时,每个实体类也需要相应的映射文件(.hbm.xml)或使用注解进行映射。 总的来说,这个"hibernate基本jar包"为Java开发者提供了完整的Hibernate ORM框架,能够高效、便捷地进行数据库操作,提高开发效率。不过,...

    hibernate4.2基础jar包

    这个"hibernate4.2基础jar包"包含了所有你需要直接导入到项目中以便开始使用Hibernate的库文件。 首先,`hibernate-core.jar`是Hibernate的核心库,包含了框架的基本功能。它提供了ORM(对象关系映射)的核心服务,...

    Hibernate的jar包

    Hibernate通过注解或XML映射文件定义对象属性与数据库字段的关系。 10. **Association(关联)管理** Hibernate 支持多种关联类型,如一对一、一对多、多对一、多对多,允许对象间的复杂关系建模。 11. **...

    struts+hibernate整合jar包

    2. **映射文件(Hibernate.cfg.xml)**:配置数据库连接信息和实体类与表的映射。 3. **Session接口**:主要操作接口,包括CRUD(创建、读取、更新、删除)操作。 4. **Criteria和HQL**:面向对象的查询方式,更加...

    hibernate开发jar包

    这些jar包包含了Hibernate框架的所有核心组件,允许开发者通过面向对象的方式来操作数据库,避免了繁琐的SQL编写。 **知识点详解:** 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为Java对象的一种技术,...

    hibernate3.3 jar包

    这个"hibernate3.3 jar包"包含了所有必要的库文件,使得开发人员能够在项目中集成Hibernate 3.3版本,从而高效地管理数据库交互。 `hibernate3.jar`是核心的Hibernate库文件,它包含了框架的主要组件,如Session...

    hibernate_jar包

    这个`hibernate.jar`文件是Hibernate的核心库,包含了实现ORM功能所需的全部类和接口。在Java开发中,使用Hibernate可以极大地提高开发效率,因为它将数据库操作抽象化,使得开发者可以使用面向对象的方式来处理数据...

    hibernate和MySQL的jar

    11. **映射文件(.hbm.xml)**: 虽然现在更常见的是使用注解来定义实体类,但Hibernate也支持使用XML映射文件来定义对象关系映射。 综上所述,"hibernate和MySQL的jar"组合是Java Web开发中常见的技术栈,它简化了...

Global site tag (gtag.js) - Google Analytics