Hibernate

bluetooth發表於2021-09-09

ORM概念

O:Object  物件
R:Relation  關係 (關係型資料庫)外來鍵就是關係
M:Mapping 對映

關係型資料庫,對應的有物件型資料庫,比較少用。現在主流的是關係型資料庫。
MYSQL, Oracle...等都是關係型資料庫。

ORM解決什麼問題?
儲存:能把物件的資料直接儲存到資料庫
獲取:能直接從資料庫拿到一個物件
要做到上面2點,必須要有對映。

圖片描述

圖片.png

Hibernate和ORM的關係是什麼?
Hibernate實現了 ORM。
ORM相當於是一種思想。


比較好的hibernate博文:
http://blog.csdn.net/jiuqiyuliang/article/details/39078749


圖片描述

圖片.png


1.Hibernate 案例
搭建一個Hibernate環境,開發步驟:

1)下載原始碼:
版本:hibernate-distribution-3.6.0.Final
2)引入jar檔案
hibernate3.jar核心 + required 必須引入的(6個)+ jpa + 資料庫驅動包
3)寫物件以及物件的對映

Employee.java    物件Employee.hbm.xml    物件的對映

4)src/hibernate.cfg.xml
資料庫連線配置
載入所有的對映(*.hbm.xml)  // 可以不寫.hbm, 為了規範和能夠找到hibernate的對映檔案,方便些。

Hibernate的schema:

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        ""><!--   
    <hibernate-mapping>一般不去配置,採用預設即可。  
    default-cascade="none":預設的級聯風格,表與表聯動。  
    default-lazy="true":預設延遲載入  
 --> <hibernate-mapping>
    </hibernate-mapping>

圖片描述

圖片.png

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        ""><hibernate-configuration xmlns="">
    <session-factory>
        <!-- 資料庫連線配置 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql:///hib_demo</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <!-- 載入對映 -->
        <mapping resource="com/ypd/a/entity/Employee.hbm.xml"></mapping>
    </session-factory></hibernate-configuration>

注意:
在hibernate.cfg.xml或者是persistence.xml檔案下面需要配置javax.persistence.validation.mode屬性。

3.寫物件以及物件的對映

Employee.java   物件
Employee.hbm.xml   物件的對映(對映檔案)
4.src/hibernate.cfg.xml 主配置檔案
作用:
1)載入資料庫連線
2)載入所有的對映(*.hbm.xml)



作者:廖馬兒
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3402/viewspace-2818360/,如需轉載,請註明出處,否則將追究法律責任。

相關文章