`
flysnowxf
  • 浏览: 577801 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hbm.xml插入外部xml文件的配置

阅读更多

hbm.xml可插入外部xml文件替换重复使用的内容。例如我这里对User进行分表,将使用user0user1user2之类的表,因此hbm映射文件内容基本都是一样的。可使用ENTITY声明插入外部的xml片段。

dbmap/User.hbm.xml

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"

    [<!ENTITY UserProperty SYSTEM "classpath://dbmap/UserProperty.xml">]>

 

 

<hibernate-mapping package="model">

    <class

        name="User0"

        table="user0"

        lazy="false"

    >

        &UserProperty;

    </class>   

   

    <class

        name="User1"

        table="user1"

        lazy="false"

    >

        &UserProperty;

    </class>

</hibernate-mapping>

hibernate3.2以上版本支持ENTITY使用classpath://协议。

如果classpath://dbmap/UserProperty.xml这个路径找不着文件,会报出一个很让人误解的异常:

org.dom4j.DocumentException: unknown protocol: classpath Nested exception

应该提示路径找不到,而不是提示不支持这个协议。

 

其中dbmap/UserProperty.xml

<?xml encoding="utf-8"?>

<id

    name="id"

    type="string"

    column="id"

    <generator class="assigned"/>

</id>

 

<property

    name="name"

    column="name"

    type="string"

    not-null="false"

    length="20"

/>

<property

    name="passwd"

    column="passwd"

    type="string"

    not-null="false"

    length="20"

/>

 

分享到:
评论

相关推荐

    hibernate登陆例子

    2. **`user.hbm.xml`**:Hibernate映射文件,用于定义Java类和数据库表之间的映射关系。 - `&lt;class&gt;`:指定实体类和表名。 - `&lt;id&gt;`:定义主键生成策略。 - `&lt;property&gt;`:映射实体类的属性到数据库表的列。 3. ...

    SSH项目演示

    在SSH项目中,可能包含Spring的配置文件(如`applicationContext.xml`)、Struts的配置文件(如`struts-config.xml`)、Hibernate的映射文件(`.hbm.xml`)等。 了解这些文件的作用和SSH框架的集成,可以帮助开发者...

    spring+struts+hibernate 类包(2)

    例如,可能会有Spring的bean配置文件(如 applicationContext.xml),Struts的配置文件(struts.xml),以及Hibernate的实体类和映射文件(hibernate.cfg.xml及.hbm.xml文件)。通过分析和实践这些文件,开发者能够...

    spring+hibernate+struts例子

    这些文件可能包括Spring的bean配置(如`applicationContext.xml`)、Hibernate的映射文件(`.hbm.xml`)和Struts的配置文件(`struts-config.xml`)。此外,还可能有Action类、DAO(数据访问对象)类、实体类...

    Java工程师面试题(三大框架).

    2. 解析映射文件(如.hbm.xml),创建SessionFactory对象,它是线程安全的,负责管理Session。 3. 打开Session,Session是与数据库交互的单线程对象。 4. 创建Transaction对象,用于管理数据库事务。 5. 执行持久化...

    Hibernate学习笔记

    3. **实体类和映射文件**:实体类代表数据库中的表,映射文件(通常是`.hbm.xml`)定义了实体类与数据库表之间的映射关系。 4. **Session**:Session是Hibernate的主要工作接口,负责在持久化对象和数据库之间建立...

    Summer of Nhibernate Session 02a Code.zip

    在这个目录中,我们可能找到映射文件(.hbm.xml或 FluentNHibernate 的映射配置),实体类定义以及Repository模式的实现。映射文件定义了对象与数据库表之间的对应关系,实体类是业务逻辑处理的对象,而Repository则...

    框架整合原理

    - **读取并解析配置文件:** 使用`Configuration().configure()`来读取并解析`hibernate.cfg.xml`配置文件。 - **读取并解析映射信息:** 通过`hibernate.cfg.xml`中的`&lt;mapping resource="com/xx/User.hbm.xml"/&gt;`...

    hibernate笔记

    `hibernate.cfg.xml`是Hibernate的全局配置文件,其中包含了数据库连接信息、使用的方言、缓存配置等。而每个POJO对应的`.hbm.xml`文件则具体定义了该对象和数据库表之间的映射关系,包括表名、字段名以及字段类型...

    SSH原理,strusts,hebernate,Spring等相关知识

    Hibernate通过实体类、映射文件(hibernate.cfg.xml和.hbm.xml)将Java对象与数据库表对应起来。它可以自动管理数据库连接,提供缓存机制,支持事务处理,从而提高开发效率和代码可读性。 **Spring** 框架是Java...

    eclipse配置hibernate需要的jar

    在实际开发中,还需要正确配置Hibernate的配置文件(`hibernate.cfg.xml`),包括数据库连接信息、方言、缓存策略等。同时,创建实体类并编写对应的映射文件(HBM或注解形式)是必不可少的步骤。 总之,Eclipse中...

    2016面试汇总.doc

    实体映射文件(如`XXX.hbm.xml`)用于描述Java对象与数据库表的映射关系。 12. **集合存放元素是否有序**: Java集合框架中的`HashSet`、`LinkedList`、`ArrayList`等通常是无序的,而`TreeSet`和`TreeMap`是有序...

    程序员面试题库

    - **读取并解析映射信息,创建SessionFactory:** 随后,Hibernate会读取对象与数据库表之间的映射信息(如`.hbm.xml`文件或注解),这些映射信息定义了对象和表之间的对应关系。接下来,基于这些配置创建...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站...

    Java面试框架高频问题2019

    - 通过配置Hibernate SessionFactory,并指定HBM文件的位置。 **问题十二:Spring如何处理线程并发问题?** - 使用`@Async`注解进行异步调用。 - 利用Spring提供的ThreadLocal实现线程安全。 **问题十三:为什么...

Global site tag (gtag.js) - Google Analytics