`

Hibernate映射文件配置

阅读更多
Hibernate配置:
一:hibernate基本数据类型
映射类型 Java类型 数据库sql类型(oracle)
int Java.lang.Integer
long Java.lang.Long number
string Java.lang.String char
string Java.lang.String varchar(2)
timestamp Java.sql.Timestamp date

二:实体映射
1 <hibernate-mapping package=””>
主要属性:package----指定一个包前缀,对于映射文件中没有全限定的类名,则默认使用该包前缀。
1.1 <class name=”持久化类的名称” table=”数据库表名”>
1.2 <id name=“持久化类的属性名” column=”数据库表的字段名” type=”hibernate基本数据类型”>
例如:<id name=”id” column=”USER_ID” type=”string” />无主键生成器
一般都为表设计一个没有实际意义的逻辑主键,hibernate为这种逻辑主键提供了主键生成器,它负责为每个实例化对象生成唯一的逻辑主键。(我们也可以不使用如上例所示)
Oracle中的表的主键是序列(sequence)自动生成的配置方法:
<id name=”id” column=”USER_ID” type=”long”>
<generator class=”sequence”>//这里class定义的hibernate的主键生成器类型(11大类)
<param name=”sequence”>W_PROG_SN</param>
</generator>
</id>
联合主键的配置:




1.3 映射普通属性
<property name=”” column=”” type=”” />










有如下表结构:

配置文件:
一 系统程序档的配置文件(W_PROG):
public class Program extends BaseEntity<Long>{
private String progName;
private Mod progMod;
    private String useRmk;
    private String urlPath;
    private String keyName;
    private Long seq;
    private String memo;
    private Wuser modifyUser;
    private Timestamp modifyDate;
private List<ProgDataKind> dataKinds=new ArrayList<ProgDataKind>();
private List<ProgBtn> progBtns = new ArrayList<ProgBtn>();

<class name="Program" table="W_PROG">//
<id name="id" column="PROG_ID" type="long">
<generator class="sequence">
<param name="sequence">W_PROG_SN</param>
</generator>
</id>//主键的配置
<property name="progName" column="PROG_NAME" type="string"></property>
<!-- 配置与模块之间的many-to-one关系 -->
<many-to-one name="progMod" class="Mod" column="MOD_ID"/>
普通属性的配置
<property name="useRmk" column="USE_RMK" type="string"></property>
<property name="urlPath" column="URL_PATH" type="string"></property>
<property name="keyName" column="KEY_NAME" type="string"></property>
<property name="seq" column="SEQ" type="long"></property>
<property name="memo" column="MEMO" type="string"></property>
<many-to-one name="modifyUser" class="Wuser" column="MODIFY_USER" />此表自己的字段
<property name="modifyDate" column="MODIFY_DATE" type="timestamp" />
<!-- 配置与W_PROG_DATAKIND表之间的N-1关系 -->使用bag 性能较好
Cascade:级联操作配置 :当需要使用到级联删除字表的数据时,需配delete-orphan。
<bag name="dataKinds" table=”W_PROG_DATAKIND” inverse="true"cascade=all,save-update,delete-orphan” 可以设置排序>
Inverse:用来标示由谁控制关联关系,我们都设置为由n得一段控制即此属性一般放在用bag 配置的一段
<key column=PROG_ID” />此key中的column配置的字段是W_PROG_DATAKIND表中的,外键
<one-to-many class="ProgDataKind" />
</bag>
配置与表W_PROG_BIN之间的n-1关系
<bag name="progBtns" table=” W_PROG_BIN”  cascade="all,save-update,delete-orphan" inverse="true" >
<key column="PROG_ID" />
<one-to-many class="ProgBtn" />
</bag>
</class>

二 程序资料类别档(W_PROG_DATAKIND)
由于此表中使用了组合主键,所以我们一般给它定义一个主键类:
ProgDataKindPk类是ProgDataKind的主键类
public class ProgDataKindPk extends BasePk{
private Program program;
private String kindNo;
一些get和set方法


public class ProgDataKind extends BaseEntity<ProgDataKindPk>{
private String kindName;

ProgDataKind的配置文件:
<hibernate-mapping package="com.byd.erpit.base.model">
   <class name="ProgDataKind" table="W_PROG_DATAKIND">
配置组合主键:由于ProgDataKind与Program之间的关系是many-to-one。
在Program的配置文件中我们可以看到有配置Program与ProgDataKind之间的<one-to-many class="ProgDataKind" />
       <composite-id name="id" class="ProgDataKindPk">
       <key-many-to-one name="program" class="Program" >
     <column name="PROG_ID" />
   </key-many-to-one>
   <key-property name="kindNo"  column="KIND_NO" type="string"/>
       </composite-id>
       <property name="kindName" column="KIND_NAME" type="string"/>
  </class>
</hibernate-mapping>

三 程序操作键档W_PROG_BTN
此表属于W_PROG与W_BTN关联关系中的一个中间表,因此此表只有两个字段
组合主键:
public class ProgBtnPk extends BasePk{
private Program program;
private Btn programBtn;
}
public class ProgBtn extends BaseEntity<ProgBtnPk>{
此对象无任何自己的属性
}
配置文件:
<hibernate-mapping package="com.byd.erpit.base.model">
   <class name="ProgBtn" table="W_PROG_BTN">
       <composite-id name="id" class="ProgBtnPk">
配置与W_PROG之间的many-to-one关系
       <key-many-to-one name="program" class="Program" >
     <column name="PROG_ID" />
   </key-many-to-one>
配置与W_BTN表之间的关系,单向的
   <key-many-to-one name="programBtn" class="Btn">
   <column name="BTN_NO" />
   </key-many-to-one>
       </composite-id>
  </class>
</hibernate-mapping>
四:程序操作键W_BTN
配置文件:
<hibernate-mapping package="com.byd.erpit.base.model">
   <class name="Btn" table="W_BTN">
       <id name="id" column="BTN_NO" type="string" />无主键生成器
       <property name="btnName" column="BTN_NAME" type="string" ></property>
       <property name="keyName" column="KEY_NAME" type="string" ></property>
       <property name="modifyUser" column="MODIFY_USER" type="long" ></property>
       <property name="modifyDate" column="MODIFY_DATE" type="timestamp" ></property>
   </class>
</hibernate-mapping>
分享到:
评论

相关推荐

    hibernate映射文件配置分析及要点

    hibernate 映射文件 配置分析及要点,你还在为配置hibernate 映射文件而发愁吗?这里总结了它的常用元素及属性。session,SessionFactory的应用

    Hibernate映射文件配置.mhtml

    初次对于Hibernate映射文件的配置,包括对Hibernate的简介还有Hibernate的优点的介绍,封装一个实体Bean,并且对它进行文件的配置和测试

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

    "自动生成 Hibernate 映射文件和实体类" 自动生成 Hibernate 映射文件和实体类是使用 MyEclipse 工具来实现的,这可以大大提高开发效率,减少开发时间。下面将详细介绍如何使用 MyEclipse 自动生成 Hibernate 映射...

    hibernate的映射文件配置

    描述:本文深入解析了Hibernate映射文件配置的核心概念,重点阐述了映射文件的基本结构及其组成部分,包括主键(id)、普通属性(property)等关键元素的配置方法和策略。 ### Hibernate映射文件配置详解 在...

    生成hibernate映射文件工具

    总的来说,`生成hibernate映射文件工具`是提高开发效率的重要辅助工具,它使得开发者可以专注于业务逻辑,而非繁琐的手动映射配置。在大型项目中,尤其是数据库结构复杂,表关联关系众多的情况下,这类工具的价值...

    Hibernate 映射文件自动生成

    【压缩包子文件的文件名称列表】:“hibernate映射文件自动生成.doc”很可能是这篇博文的文档形式,其中详细介绍了具体的操作步骤、使用工具或者自定义脚本,以帮助开发者理解并应用自动化的映射文件生成过程。...

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

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

    myeclipse自动生成hibernate映射文件

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

    Myeclipse生成Hibernate映射文件

    而MyEclipse作为一款强大的Java集成开发环境,提供了对Hibernate的良好支持,包括自动生成Hibernate映射文件的功能。本文将详细介绍如何在MyEclipse中创建和使用Hibernate映射文件。 首先,理解Hibernate映射文件...

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

    首先,我们需要了解Hibernate映射文件的基本结构。通常,一个映射文件以`.hbm.xml`为扩展名,它使用XML格式来描述Java类和数据库表的对应关系。映射文件包含了类名、表名、字段及其数据类型等信息。例如: ```xml ...

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

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

    hibernate映射文件生成数据库

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

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

    3. **逆向工程(Hibernate Reverse Engineering)**:选中要映射的数据库表,右键选择`Hibernate Reverse Engineering`,这是MyEclipse提供的将数据库表转换为Hibernate映射文件和实体类的工具。 4. **配置生成选项...

    常用 Hibernate 映射配置说明.doc

    `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库连接细节、默认的映射策略等。 - **schema**: 定义了数据库的Schema名称...

    《Hibernate 各类映射文件与配置文件模板》HibernateMappingConfig.zip

    《Hibernate各类映射文件与配置文件模板》是一个包含多种Hibernate映射和配置示例的压缩包,用于帮助开发者理解和使用Hibernate框架。Hibernate是Java领域的一个流行的对象关系映射(ORM)框架,它允许开发者用面向...

    hibernate的约束文件(核心配置,映射文件)

    此压缩包内有两文件,一个是hibernate的核心配置文件hibernate.cfg.xml,一个是实体映射文件*.hbm.xml,在配置hibernate文件时需要用到头部的约束,还有在配置没提示时需要用到(附带使用方法)。

    Myeclipse自动生成Hibernate配置文件及实体类映射ORM

    Myeclipse 自动生成 Hibernate 配置文件及实体类映射 ORM 配置文件 Myeclipse 是一个功能强大的集成开发环境(IDE),它提供了许多实用的功能来简化软件开发过程。在这个示例中,我们将展示如何使用 Myeclipse 自动...

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

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

Global site tag (gtag.js) - Google Analytics