hbm.xml可插入外部xml文件替换重复使用的内容。例如我这里对User进行分表,将使用user0、user1、user2之类的表,因此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"
/>
分享到:
相关推荐
2. **`user.hbm.xml`**:Hibernate映射文件,用于定义Java类和数据库表之间的映射关系。 - `<class>`:指定实体类和表名。 - `<id>`:定义主键生成策略。 - `<property>`:映射实体类的属性到数据库表的列。 3. ...
在SSH项目中,可能包含Spring的配置文件(如`applicationContext.xml`)、Struts的配置文件(如`struts-config.xml`)、Hibernate的映射文件(`.hbm.xml`)等。 了解这些文件的作用和SSH框架的集成,可以帮助开发者...
例如,可能会有Spring的bean配置文件(如 applicationContext.xml),Struts的配置文件(struts.xml),以及Hibernate的实体类和映射文件(hibernate.cfg.xml及.hbm.xml文件)。通过分析和实践这些文件,开发者能够...
这些文件可能包括Spring的bean配置(如`applicationContext.xml`)、Hibernate的映射文件(`.hbm.xml`)和Struts的配置文件(`struts-config.xml`)。此外,还可能有Action类、DAO(数据访问对象)类、实体类...
2. 解析映射文件(如.hbm.xml),创建SessionFactory对象,它是线程安全的,负责管理Session。 3. 打开Session,Session是与数据库交互的单线程对象。 4. 创建Transaction对象,用于管理数据库事务。 5. 执行持久化...
3. **实体类和映射文件**:实体类代表数据库中的表,映射文件(通常是`.hbm.xml`)定义了实体类与数据库表之间的映射关系。 4. **Session**:Session是Hibernate的主要工作接口,负责在持久化对象和数据库之间建立...
在这个目录中,我们可能找到映射文件(.hbm.xml或 FluentNHibernate 的映射配置),实体类定义以及Repository模式的实现。映射文件定义了对象与数据库表之间的对应关系,实体类是业务逻辑处理的对象,而Repository则...
- **读取并解析配置文件:** 使用`Configuration().configure()`来读取并解析`hibernate.cfg.xml`配置文件。 - **读取并解析映射信息:** 通过`hibernate.cfg.xml`中的`<mapping resource="com/xx/User.hbm.xml"/>`...
`hibernate.cfg.xml`是Hibernate的全局配置文件,其中包含了数据库连接信息、使用的方言、缓存配置等。而每个POJO对应的`.hbm.xml`文件则具体定义了该对象和数据库表之间的映射关系,包括表名、字段名以及字段类型...
Hibernate通过实体类、映射文件(hibernate.cfg.xml和.hbm.xml)将Java对象与数据库表对应起来。它可以自动管理数据库连接,提供缓存机制,支持事务处理,从而提高开发效率和代码可读性。 **Spring** 框架是Java...
在实际开发中,还需要正确配置Hibernate的配置文件(`hibernate.cfg.xml`),包括数据库连接信息、方言、缓存策略等。同时,创建实体类并编写对应的映射文件(HBM或注解形式)是必不可少的步骤。 总之,Eclipse中...
实体映射文件(如`XXX.hbm.xml`)用于描述Java对象与数据库表的映射关系。 12. **集合存放元素是否有序**: Java集合框架中的`HashSet`、`LinkedList`、`ArrayList`等通常是无序的,而`TreeSet`和`TreeMap`是有序...
- **读取并解析映射信息,创建SessionFactory:** 随后,Hibernate会读取对象与数据库表之间的映射信息(如`.hbm.xml`文件或注解),这些映射信息定义了对象和表之间的对应关系。接下来,基于这些配置创建...
这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站...
- 通过配置Hibernate SessionFactory,并指定HBM文件的位置。 **问题十二:Spring如何处理线程并发问题?** - 使用`@Async`注解进行异步调用。 - 利用Spring提供的ThreadLocal实现线程安全。 **问题十三:为什么...