`
jaesonchen
  • 浏览: 313466 次
  • 来自: ...
社区版块
存档分类
最新评论

hibernate 映射配置xml方式

 
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.jaeson.hibernatestudy.bean.Role" table="role" catalog="db4myeclipse">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="native"></generator>
        </id>
        <property name="roleName" type="java.lang.String">
            <column name="roleName" length="32" not-null="true" />
        </property>
        <property name="roleDesc" type="java.lang.String">
            <column name="roleDesc" length="128" />
        </property>
        
        <!-- many2many双向关联 -->
        <set name="users" inverse="true" table="user_role" catalog="db4myeclipse">
            <key>
                <column name="role_id" not-null="true" />
            </key>
            <many-to-many entity-name="com.jaeson.hibernatestudy.bean.User">
                <column name="user_id" length="32" not-null="true" />
            </many-to-many>
        </set>
    </class>
</hibernate-mapping>

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.jaeson.hibernatestudy.bean.IdCard" table="idcard" catalog="db4myeclipse">
        <id name="id" type="java.lang.String">
            <column name="id" length="32" />
            <generator class="uuid"></generator>
        </id>
        <property name="cardNo" type="java.lang.String">
            <column name="cardNo" length="32" not-null="true" />
        </property>
        <property name="authDate" type="java.sql.Timestamp">
            <column name="authDate" length="19" not-null="true" />
        </property>
		<!-- one2one 默认是共享主键的加载方式,唯一外键关联必须在一端设置加载的连接属性,
				连接属性指的是外键所在表的对应的类的属性,hibernate根据类属性对应的字段加载
				连接类。IdCard根据主键id与关联表类User的idCard属性对应的列card_id进行加载
				User对象。这里如果不设置property-ref属性,则加载User时,默认会使用
				IdCard.id=User.id进行加载,这样就无法正确加载关联对象。
				 -->
		<one-to-one name="user" class="com.jaeson.hibernatestudy.bean.User" property-ref="idCard"></one-to-one>
    </class>
</hibernate-mapping>

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.jaeson.hibernatestudy.bean.User" table="user" catalog="db4myeclipse">
        <id name="id" type="java.lang.String">
            <column name="id" length="32" />
            <generator class="uuid"></generator>
        </id>
        
        <property name="userName" type="java.lang.String">
            <column name="userName" length="32" not-null="true" />
        </property>
        
        <!-- 组件映射 -->
		<component name="address" class="com.jaeson.hibernatestudy.bean.Address">  
	        <property name="address" type="java.lang.String">
	            <column name="address" length="128" />
	        </property>
	        <property name="zipCode" type="java.lang.Integer">
	            <column name="zipCode" />
	        </property>
	        <property name="phone" type="java.lang.String">
	            <column name="phone" length="32" />
	        </property>
	    </component>
		
		<!-- one2one外键关联,通过unique="true"实现 -->
        <many-to-one name="idCard" class="com.jaeson.hibernatestudy.bean.IdCard" cascade="all" fetch="select" unique="true">
            <column name="card_id" length="32" />
        </many-to-one>
        
        <!-- many2one关联 -->
        <many-to-one name="department" class="com.jaeson.hibernatestudy.bean.Department" fetch="select">
            <column name="dept_id" length="32" />
        </many-to-one>
       	
       	<!-- many2many关联 -->
       	<set name="roles" table="user_role" catalog="db4myeclipse">
            <key>
                <column name="user_id" length="32" not-null="true" />
            </key>
            <many-to-many entity-name="com.jaeson.hibernatestudy.bean.Role">
                <column name="role_id" not-null="true" />
            </many-to-many>
        </set>
    </class>
</hibernate-mapping>

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.jaeson.hibernatestudy.bean.Department" table="department" catalog="db4myeclipse">
        <id name="id" type="java.lang.String">
            <column name="id" length="32" />
            <generator class="assigned"></generator>
        </id>
        
        <property name="deptName" type="java.lang.String">
            <column name="deptName" length="32" not-null="true" />
        </property>
        
        <!-- 设置fetch="join"在查询department时会使用inner join进行表连接查询,lazy失效 -->
        <many-to-one name="parentDept" class="com.jaeson.hibernatestudy.bean.Department" fetch="join">
            <column name="parent_id" length="32" />
        </many-to-one>
        
        <set name="users" inverse="true">
            <key>
                <column name="dept_id" length="32" />
            </key>
            <one-to-many class="com.jaeson.hibernatestudy.bean.User" />
        </set>
        
        <set name="childDepts" inverse="true">
            <key>
                <column name="parent_id" length="32" />
            </key>
            <one-to-many class="com.jaeson.hibernatestudy.bean.Department" />
        </set>
    </class>
</hibernate-mapping>

  

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

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

    标题“Hibernate映射关系配置:XML方式和注解方式”涉及到的是Java持久层框架Hibernate中的一个重要概念——对象关系映射(ORM)。在这个主题中,我们将探讨如何通过XML映射文件和注解来配置Hibernate实体之间的关系...

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

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

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

    Spring提供了`LocalSessionFactoryBean`用于配置基于XML的Hibernate映射,而`AnnotationSessionFactoryBean`则用于处理基于注解的映射。这两个类分别处理不同的映射方式,所以默认情况下,它们不能直接共存于同一个...

    Hibernate XML配置表映射实例

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

    Hibernate映射配置实例大全(详细总结)

    综上所述,"Hibernate映射配置实例大全"涵盖的内容广泛,包括基本的配置文件设置、实体类的XML和注解映射、集合映射、加载策略、事务管理和缓存配置等。通过深入学习和实践这些实例,开发者可以熟练地运用Hibernate...

    Hibernate映射配置详解

    本篇文章将深入探讨Hibernate的映射配置,帮助你理解如何在实际项目中有效地使用Hibernate。 一、Hibernate概述 Hibernate的核心功能在于它的持久化层,通过ORM机制将Java对象与数据库表进行绑定。它提供了一种在...

    Hibernate关系映射XML生成工具

    关系映射XML生成工具,如"Middlegen-Hibernate-r5",则是为了简化这一过程而设计的。这些工具能够自动生成Hibernate所需的配置文件,包括映射文件(.hbm.xml),这些文件定义了Java类和数据库表之间的映射关系。 ...

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

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

    自动生成hibernate映射文件和实体类

    在完成上述步骤后,系统将自动生成 HibernateSessionFactory.java 和 hibernate.cfg.xml 文件。然后,在 MyEclipse Datebase Explorer 中选中所有表,点击右键,选择 Hibernate Reverse Enginnering,选中目录存放...

    java根据实体类生成Hibernate映射文件

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象...这个过程涉及到Java反射、XML处理以及对Hibernate映射机制的理解,对于深入掌握Java与数据库的交互具有重要的实践意义。

    SSH三大框架整合 struts2(使用xml配置)+hibernate(使用xml配置)+spring(使用xml配置)

    在这个项目中,所有配置都采用XML文件,虽然这种方式相对直观,但随着项目的扩大,XML配置文件可能会变得庞大且难以维护。现代开发中,更倾向于使用注解配置或者Spring Boot的自动配置来简化配置过程。 总结来说,...

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

    首先,我们需要了解一个基本的Hibernate映射文件结构: ```xml &lt;hibernate-mapping&gt; &lt;!-- 映射类的属性 --&gt; &lt;/hibernate-mapping&gt; ``` 这里的`&lt;class&gt;`标签表示映射到特定的Java类,其属性`name`指定了对应的...

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

    这个压缩包中的"Hibernate映射工具"可能是为了帮助开发者更方便地管理和处理这些映射关系。 XML在Hibernate中扮演着关键角色,它是定义对象-关系映射(ORM)的主要方式。XML文件,通常以`.hbm.xml`为扩展名,包含...

    hibernate xml配置和@注解配置关系映射

    针对hibernate关系映射进行了一个总结,包含xml配置形式和@注解配置形式,one-to-many,one-to-noe,many-to-one,many-to-many等单方向的配置和双方都配置的事例

    Hibernate 映射文件自动生成

    Hibernate通过XML或注解方式将Java类与数据库表进行映射,使得开发者可以使用面向对象的方式来处理数据库。然而,手动编写这些映射文件可能会耗费大量时间,因此“Hibernate 映射文件自动生成”是一个非常实用的功能...

    myeclipse自动生成hibernate映射文件

    Hibernate映射文件是XML格式的文件,它定义了数据库表与Java实体类之间的对应关系,包括字段映射、主键策略、关联关系等。映射文件让开发者无需编写SQL语句,就能通过Java对象进行数据库操作。 2. **MyEclipse ...

    Myeclipse生成Hibernate映射文件

    首先,理解Hibernate映射文件(.hbm.xml)的作用。这些文件是XML文档,它们定义了数据库表与Java类之间的映射关系,包括字段对应、主键设置、关联关系等。通过这些映射文件,Hibernate可以自动处理对象的持久化操作...

    hibernate映射文件生成数据库

    Hibernate映射文件,通常以`.hbm.xml`为扩展名,是Hibernate用来定义Java类与数据库表之间关系的配置文件。它包含了关于实体类与数据库表的字段对应、主键生成策略、关联关系等信息。通过这些映射文件,Hibernate...

    struts2-spring4-hibernate4_xml配置的框架

    在XML配置文件`hibernate.cfg.xml`中,你可以配置数据库连接信息、实体类的映射等。此外,实体类可以通过`@Entity`注解标识,属性通过`@Column`等注解定义数据库列的映射。 SSM(Spring、SpringMVC、MyBatis)是另...

Global site tag (gtag.js) - Google Analytics