hibernate.hbm.xml详解(一)

                                                                   pojo类和数据库的映射文件*.hbm.xml(持久化实体类)

                              

一个mapping映射文件里可以写多个类(class),最好一个类写一个映射;

 1:<hibernate-mapping>

           代表映射文件,以下是属性:

          ---schema:用来指定所映射的数据库schema的名称。若指定该属性,则表明会自动添加该schema 前缀(schema:每个数据库中有很多房间存储东西,每个房间就是schema

         ---catalog:用来指定所映射的数据库的名称

         ---auto-import:指定是否可以在查询语言中使用非限定的类名(默认为true,仅限于本映射文件中的类)(非限定的类名:类名,不带包;反之限定就是带包的)

        ---重要package:指定的是此映射类名(不是当前映射文件)之前的包的前缀,如果class里是非限定类名(只是一个类名),那mapping里就得加这个,作为包名,如果class等于全限定名(就是带包的),那就这里不需要,如果多个class在同一包下,且写在同一mapping里,那可以所有class不写全限定名直接在mapping里加package;

eg1:

//com是包名,om底下是CampusPO,写的就是PO的映射(给哪个类做映射都行,只要是实体类,想要持久化的类就行)

<hibernate-mapping package="com.sudytech.cdsq.impl.rich.local.om">

    <class name="CampusPO" table="t_cdsq_campus">

eg2:

<hibernate-mapping >

    <class name="com.sudytech.cdsq.impl.rich.local.om.CampusPO" table="t_cdsq_campus">

eg3:

<hibernate-mapping >

    <class name="com.sudytech.cdsq.impl.rich.local.om.CampusPO" table="t_cdsq_campus">

    <class name=" com.sudytech.cdsq.impl.rich.local.om. CampusPO1" table="t_cdsq_campus1">\

</hibernate-mapping >

eg4:

<hibernate-mapping package="com.sudytech.cdsq.impl.rich.local.om">

    <class name="CampusPO"  table="t_cdsq_campus">

    <class name="CampusPO1"  table="t_cdsq_campus1">

</hibernate-mapping >

2:<class>

     当前要映射的类

     ---name:指定映射的持久化类的类名

     ---table:相对应数据库的表名

     ---dynamic-insert:设置为true,表示当保存一个对象时,会动态生成insert语句,insert语句中仅包含所有取值不为null的字段,默认值为false;

     ---dynamic-update:设置为true,表示当跟新一个对象时,会动态生成update语句,update语句中仅包含所有取值需要跟新的字段,默认值为false;

     ---select-before-update:设置hibernate在更新某个持久化对象之前是否需要先执行

一次查询,默认值为false

     ---batch-size:指定 根据OID来抓取实例时每批抓取的实例数

    ---lazy:是否使用延迟加载,false=立即,默认为true;

     ---mutable:若设置为true,等价于所有的<property>元素的update属性为false,表示整个实例的不能被更新,默认为true;

    --- discriminator-value:指定区分不同子类的值,当使用<subclass/>来定义持久化类的继承关系时需要使用该属性

  

    

   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值