`

Hibernate采用XML方式映射的方法

阅读更多

Hibernate实体映射的几个步骤

 

 1、写注释

格式为:?属性,表达的是本对象与?的?关系。

例:“department属性,本对象与Department的多对一”

 

2、拷模板:

多对一 <many-to-one name=“” class=“” column=“”/>
一对多(Set)

<set name="">

        <key column=""></key>

        <one-to-many class=""/>

</set>

 

多对多(Set)

<set name="" table="">

        <key column=""></key>

        <many-to-many class="" column=""/>

</set>

 

3、填空:

name属性:属性名(注释中的第1问号)

class属性:关联的实体类型(注释中的第2个问号)

column属性:

<many-to-one column="..">:一般可以写成属性名加Id后缀,如属性为department,则column值写成departmentId。

一对多中的<key column="..">:从关联的对方(对方是多对一)映射中把column值拷贝过来。 

多对多中的<key column=“..”>:一般可以写成本对象的名加Id后缀,如本对象名为User,则写为userId。

多对多中的<many-to-many column=“..”>:一般可以写为关联对象的名称加Id后缀。

 

 

举例:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.yingjun">

	<class name="Role" table="t_role">
		<id name="id">
            <generator class="native"/>
		</id>
		<property name="name"/>
		<property name="description"/>
		
		<!-- users属性,本类与User的多对多 -->
		<set name="users" table="t_user_role">
			<key column="roleId"></key>
			<many-to-many class="User" column="userId"></many-to-many>
		</set>
		
	</class>
	
</hibernate-mapping>

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.yingjun">

	<class name="User" table="t_user">
		<id name="id">
            <generator class="native"/>
		</id>
		<property name="loginName"/>
		<property name="password"/>
		<property name="name"/>
		<property name="gender" />
		<property name="phoneNumber"/>
		<property name="email"/>
		<property name="description"/>
		
		<!-- department属性,本类与Department的多对一 -->
		<many-to-one name="department" class="Department" column="departmentId"></many-to-one>

		<!-- roles属性,本类与Role的多对多 -->
		<set name="roles" table="t_user_role">
			<key column="userId"></key>
			<many-to-many class="Role" column="roleId"></many-to-many>
		</set>
		
	</class>
	
</hibernate-mapping>

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.yingjun">

	<class name="Department" table="t_department">
		<id name="id">
			<generator class="native" />
		</id>
		<property name="name" />
		<property name="description" />

		<!-- users属性,本类与User的一对多 -->
		<set name="users">
			<key column="departmentId"></key>
			<one-to-many class="User" />
		</set>

		<!-- parent属性,本类与Department(上级)的多对一 -->
		<many-to-one name="parent" class="Department" column="parentId"></many-to-one>

		<!-- children属性,本类与Department(下级)的一对多 -->
		<set name="children">
			<key column="parentId"></key>
			<one-to-many class="Department" />
		</set>

	</class>

</hibernate-mapping>

 

 

分享到:
评论

相关推荐

    Hibernate XML配置表映射实例

    在本实例中,我们将深入探讨如何使用XML配置文件来实现Hibernate的表映射。 首先,Hibernate的XML配置文件通常被称为`hibernate.cfg.xml`,它是连接数据库、定义SessionFactory等核心设置的地方。在这个文件中,...

    让Hibernate同时支持xml和注解两种映射方式

    Hibernate支持两种主要的映射方式:XML映射文件和注解映射。然而,默认情况下,一个项目只能选择其中一种方式进行配置。但有时候,根据项目需求,可能需要同时使用XML和注解映射。在这种情况下,我们需要进行一些...

    Hibernate关系映射XML生成工具

    Middlegen是早期流行的一款Hibernate工具,它可以自动从数据库模式生成Hibernate的XML映射文件。用户只需要指定数据库连接信息,Middlegen就能够解析数据库中的表结构,并生成对应的Hibernate映射文件。对于MySQL...

    Hibernate映射关系配置:XML方式和注解方式

    本主题将深入探讨Hibernate框架下,如何通过XML映射文件和注解进行对象关系映射的配置,包括实体类的设计、字段映射、关联关系的建立,并可能结合具体代码实例进行解析,帮助读者理解并掌握这两种映射方式的使用。...

    使用Hibernate逆向生成实体类的方法(注解和hbm.xml映射文件)

    通过以上步骤,我们不仅能够利用Hibernate逆向生成实体类,还可以灵活地选择注解映射或hbm.xml映射的方式。这种方式极大地简化了开发过程,提高了开发效率。对于不同的项目需求,可以根据实际情况选择合适的映射方式...

    build.xml 手写自动生成Hibernate映射文件和配置文件源代码

    build.xml 手写自动生成Hibernate映射文件和配置文件源代码

    Spring-hibernate结合使用全xml配置方式

    通过以上步骤,你已经成功地将Spring和Hibernate整合在一起,使用全XML配置方式实现了数据访问层。这种方式虽然较为繁琐,但能清晰地分离各层职责,便于管理和维护。在实际项目中,还可以考虑使用注解配置或者Spring...

    Hibernate映射工具,能获得xml,java

    总的来说,这个压缩包提供的工具和资源可以帮助开发者理解并实践Hibernate的XML映射和Java编程,特别是在Oracle10g数据库上的应用。然而,为了确保在其他数据库上运行,需要对工具进行适当的适配和测试,或者使用更...

    基于Hibernate的XML数据存储方法.pdf

    Hibernate是一个对象关系映射(ORM)框架,用于Java环境,它提供了数据持久化的功能,让开发者可以使用面向对象的方式来操作数据库。XML(可扩展标记语言)是一种标记语言,用于存储和传输数据。在数据库领域,XML常...

    根据实体类自动生成hibernate的hbm.xml映射文件

    请输入包的名称和映射文件需要放到的文件夹之后运行CreateTableXml里的main方法,就可以自动生成映射文件了。记着刷新文件夹,要不然是看不到的。 当然只是一些基础的属性。对于一些比较复杂,还是需要自己来修改的...

    hibernate多对一映射(XML)版

    2. **XML映射文件**: - 对于`Student`实体,我们需要在对应的`.hbm.xml`文件中定义多对一的关系。使用`&lt;many-to-one&gt;`标签,指定关联的实体类和外键字段。例如: ```xml ``` 这里,`name`属性对应Java类中的...

    hibernate实体映射文件字段设置默认值

    在Hibernate框架中,实体映射文件(通常为`.hbm.xml`)用于定义Java对象与数据库表之间的映射关系。这其中包括了属性到数据库表列的映射、主键生成策略、以及一些高级特性如延迟加载等。在某些情况下,我们可能希望...

    Hibernate使用xdoclet生成映射文件和sql语句

    XDoclet是基于Javadoc的元数据处理工具,它通过读取Java源代码中的特定注解,自动生成各种配置文件,包括Hibernate的.hbm.xml映射文件、EJB组件的部署描述符等。使用XDoclet,开发者无需手动创建和维护这些配置文件...

    hibernate array 数组映射

    这种映射方式简化了数据访问,并提高了代码的可读性和可维护性。 ### 配置数组映射 在Hibernate的映射文件(hbm.xml)中,我们可以使用`&lt;array&gt;`元素来配置数组映射。基本结构如下: ```xml ``` - `name`...

    JAVA数据类型与Hibernate的类型映射

    关于工具的使用,Hibernate提供了hibernate.cfg.xml配置文件或基于Java的配置方式来设置数据库连接参数、实体类扫描路径等。同时,它还提供了SessionFactory、Session、Transaction等接口,供开发者进行数据库操作。...

    hibernate map 集合映射

    在Hibernate的映射文件(.hbm.xml)中,我们通常使用`&lt;set&gt;`, `&lt;list&gt;`, `&lt;map&gt;`等标签来定义集合映射。每个标签都有对应的属性,例如: - `name`: 对象属性名。 - `table`: 所映射的数据库表名。 - `inverse`: ...

    hibernate单向多对多映射(XML版)

    XML映射文件是 Hibernate 了解这些实体及其关系的关键。 1. **实体类**: 在这个场景下,我们可能有两个实体类,如`Student`和`Course`。每个实体类都有自己的属性,并且需要包含对应的数据库表字段。例如,`...

    hibernate xml

    但值得一提的是,Hibernate还提供了HQL(Hibernate Query Language)和QBC(Query By Criteria)两种查询方式,它们是面向对象的查询语言,与SQL类似,但更接近Java编程思维,这与XML映射文件配合使用,使得数据库...

Global site tag (gtag.js) - Google Analytics