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)
对应属性的配置(基本的都是name、column、type)
id的配置(name、column、type、generator)
一对一映射配置心得
共享主键配置:从表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集合,tips为list集合,pictures为map集合。
配置如下
<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>
Hibernate介绍
最新推荐文章于 2024-08-12 17:02:49 发布