Hibernate介绍

来源:互联网 发布:php文件上传类库 编辑:程序博客网 时间:2024/04/30 05:17

1.引入Hibernate的支持包。
2.
写好
hibernate.cfg.xml
   
里面涉及到的内容有:

JDBC
连接参数

connection.driver_class

connection.username

connection.password

connection.url

dialect

show_sql

Hibernate C3P0
连接池参数

hibernate.connection.provider_class

hibernate.c3p0.max_size

hibernate.c3p0.min_size

hibernate.c3p0.timeout

hibernate.c3p0.max_statements

hibernate.c3p0.idle_test_period
注册ORM映射文件

<mapping resource=“
包名/类名.hbm.xml”>可以有多个。

3.
ORM配置文件(文件名为类名.hbm.xml

  
对应属性的配置(基本的都是namecolumntype

   id
的配置(namecolumntypegenerator

  
一对一映射配置心得

  
共享主键配置:从表id生成方式为forergn并且这个节点要包含param节点  配置one-to-one节点 例子

<id name="id" column="ID" type="integer">
<generator class="foreign">
<param name="property"> company</param>
</generator>
</id>
<one-to-one name="company" class="com.ORM.Company" constrained="true"/>
主表one-to-one节点 例子

<one-to-one name="login" class="com.ORM.Login" cascade="all" lazy="false"/>
唯一外键方式配置:主表配置one-to-one节点

                <one-to-one name="client" class="com.ORM.Client" property-ref="address">
从表配置many-to-one节点

<many-to-one name="address" class="com.ORM.Address" column="ADDRESS" lazy="false" cascade="all" unique="true"/>
多对一映射配置

多对一单向映射:只在的一方配置 类里面有的一方的对象<many-to-one>节点

            <many-to-one name="customer" column="CUSTOMER_ID" class="com.ORM.Customer" lazy="false" not-null="true"/>
一对多双向映射:双方都要配置。的一方配置同多对一单向映射配置完全相同

的一方 类里面要有的一方的对象的集合配置set节点

<set name="orders" cascade="all" inverse="true" lazy="false">
<key column="CUSTOMER_ID"/>
<one-to-many class="com.ORM.Order"/>
</set>
一对多双向自身关联关系:配置同一对多双向关联,不同的是,主表跟从表都是一个表。配置在一个文件里面就行。

多对多单向关联:涉及到多对多的都会有连接表,连接表里面存放的是两个表里面关联的字段

<set name="items" table="selecteditems" lazy="true" cascade="save-update">
<key column="ORDERID"/>
<many-to-many class="com.ORM.Items" column="ITEMID"/>
</set>
多对多双向关联:在双方都配置,方式同多对多单向映射配置,只是在一方配置上inverse就行。


映射组成关系:讲一个大类分成两个类。配置的时候配置一个组件就行。//客户(client)里面包含地址(address),地址分出来作为一个类。

<component name="address" class=”com.ORM.Address">
<parent name="client"/>
<peoperty name="province" column="PROVINCE" type="string">
......
</component>
映射继承关系:父类写好,子类继承父类,并扩展自己的属性。映射配置文件只需要写子类的配置就行。

集合映射:商品有视频广告(VIDEO)、使用技巧(TIPS)、图片(PICTURE)字段,每个字段都有对应的一个表。

商品类里面的videos属性为set集合,tipslist集合,picturesmap集合。

配置如下

<set name="videos" table="videos" lazy="false">
<key column="ITEMS_ID"/>
<element column="VIDEO" type="string" not-null="true"/>
</set>
<list name="tips" table="tips" lazy="false">
<key column="ITEMS_ID"/>
<index column="POSITION"/>
<element column="TIP" type="string"/>
</list>
<map name="pictures" table="pictures" lazy="false">
<key column="ITEMS_ID">
<index column="KEYNAME" type="string"/>
<element column="PICTURE" type="string"/>
</map>

原创粉丝点击