hibernate基本映射文件

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

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

    <!--
    class: 表示 实体类和表的映射  与数据库的相关设置不能出现数据库中的关键字
    dynamic-update:更新的sql语句不包含空值.动态组织sql语句
    dynamic-insert:插入式时不包含空的属性列,用于动态组织sql语句
    select-before-update:在更新时先查询
    -->
    <class name="com.fengye.hibernate.basic.BasicMap" table="BASIC_MAP"
           dynamic-update="true"
           dynamic-insert="true"
           select-before-update="true">

        <id name="id" type="java.lang.Integer">
            <column name="ID"/>
            <!-- 指定主键的生成方式, native: 使用数据库本地方式 -->
            <generator class="native"/>
            <!-- hilo -->
            <!--
            <generator class="hilo">
                <param name="table">HI_TABLE</param>
                <param name="column">NEXT_VAL</param>
                <param name="max_lo">10</param>
            </generator>
            -->
        </id>

        <!-- 普通属性 - property -->
        <property name="title"
                  type="java.lang.String" column="TITLE">
        </property>

        <property name="author" type="java.lang.String"
                  index="news_index">
            <column name="AUTHOR"/>
        </property>

        <!-- 时间(年/月/日,具体时间)-->
        <property name="date" type="date"/>
        <property name="time" type="time"/>
        <property name="timestamp" type="timestamp"/>

        <!-- boolean -->
        <property name="isUsed" type="yes_no">
            <column name="isUsed" sql-type="varchar(1)"></column>
        </property>

        <!-- enum -->
        <property name="gender">
            <column name="gender">
            </column>
            <type name="org.hibernate.type.EnumType">
                <param name="enumClass">com.fengye.hibernate.basic.Gender</param>
                <param name="type">12</param>
            </type>
        </property>

        <property name="desc" formula="(SELECT concat(author, ‘: ‘, title) FROM BASIC_MAP n WHERE n.id = id)"/>

        <!-- 大文本-->
        <property name="content">
            <column name="content" sql-type="mediumtext"/>
        </property>
        <property name="image">
            <column name="IMAGE" sql-type="mediumblob"></column>
        </property>

        <!-- component-->
        <component name="component" class="com.fengye.hibernate.basic.Component">
            <parent name="map"/>
            <property name="component1" column="component1"/>
            <property name="component2" column="component2"/>
        </component>
    </class>

</hibernate-mapping>
时间: 2024-12-22 17:53:31

hibernate基本映射文件的相关文章

使用oracle数据库和MySQL数据库时hibernate的映射文件.hbm.xml的不同

如果是使用oracle数据库,那么hibernate的映射文件.hbm.xml如下: <id name="xuehao" column="xuehao"> </id> 这个id不是数据库自动生成的,这需要注意:而且这些字段必须和实体类中相对应,实体类中还需要对应的get()方法和set()方法. 因为oracle数据库中的id都是自动生成的,所以这里不需要写数据库的id,这和MySQL数据库有很大区别:另外,MySQL数据库建表时必须指明id

hibernate 关系映射文件配置

<!--Department.hbm.xml users属性,本类与User的一对多 --> <set name="users"> <key column="departmentId"></key> <one-to-many class="User" /> </set> <!-- parent属性,本类与Department(上级)的多对一 --> <man

Hibernate实体映射文件多对多等关系简单应用技巧

第一步,写注释: <!--xx属性,本类与Yy(类)的多对一 --> <!--xx属性,本类与Yy(类)的一对多 --> <!--xx属性,本类与Yy(类)的多对多 --> <!--xx属性,本类与Yy(类)的一对一 --> 第二部,拷模版 <!--xx属性,本类与Yy(类)的多对一 --> <many-to-one name="" class="" column="">&l

hibernate之映射文件VS映射注解

前言 对于java开发者而言,注解应该不是一个陌生的概念,早在JavaSE阶段,例如@Override标记重写父类方法或实现接口方法,@Test标记单元测试方法,所以我们可以简单地把它理解为一种有特殊含义的标记...在开发过程中,我们还可以用注解方式替代配置文件实现相关功能,例如Java web开发中,3.0版本后,利用@WebServlet.@WebListener等注解分别可以替代web项目XML配置文件中相关内容.而本文中讲述的就是Hibernate的映射配置文件与映射注解的对比,这两种方

Hibernate的映射文件

映射文件的结构和属性 一个映射文件(mapping file)由一个根节点<hibernate-mapping>和多个<class>节点组成, 首先看看根节点<hibernate-mapping>支持什么属性: 1 <hibernate-mapping 2 schema="schemaName" (1) 3 catalog="catalogName" (2) 4 default-cascade="cascade_s

Hibernate的映射文件配置

对象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素,映射文件的代码如下: <?xml version="1.0"?> <!-- 所有的XML映射文件都需要定义如下所示的DOCTYPE. Hibernate会先在它的类路径(classptah)中搜索DTD文件. --> <!DOCTYPE hibernate-mapping PUBLIC &qu

Hibernate hbm映射文件的详解

错误演示 第一步:导入jar包   省略 第二部:创建Person类 package cn.hibernate.bean; import java.util.Date; public class Person { private Integer pId; private String pName; private int age; private Date brithdayDate; private boolean gender; private byte[] photo; private St

myeclipse中hibernate生成映射文件

在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了myeclipse与数据库直接连接的内置窗口,并且通过此窗口可以生成hibernate的mapping文件 前提是:已经新建了一个web工程并且已经通过myeclipse添加了hibernate框架. 一.MyEclipse Database Explorer 建立数据库连接 二,到MyEclips

hibernate 的映射文件快速生成:使用CodeSmith快速生成映射文件和映射类

一 CodeSmith简介 本文以表自动生成NHibernate的映射文件和映射类的实例来说明一下本软件的使用方法. CodeSmith是一种基于模板的代码生成工具,其使用类似于ASP.NET的语法来生成任意类型的代码和文件.使用 CodeSmith,可以生成包括简单的强类型集合和完整应用程序在内的任何东西.(弱类型-没有明显的类型,会随着环境的不同自动变换类型:强类型-在声明时规定其数据类型,保证类的安全,虽然系统也有一定的默认转换,但是没有弱类型那么随便) 当您生成应用程序时,您经常需要重复