自動生成表結構
(etc/hibernate.properties)
update(常用)
自動生成表結構 如果對映檔案和資料庫表字段不對應 將會修改表的字段
但是原來表的字段不會改變 會新增字段
create
每次執行都會建立乙個新的表(資料丟失)
create-drop
每次執行都會建立乙個新的表,並且每次執行結束都會把這個表刪除
validate
每次都會驗證表結構 如果實體類與對映檔案不同 會丟擲乙個異常
主鍵分類
主鍵的規則:不能重複 不能修改
1.自然主鍵
表裡面 有乙個字段 符合主鍵的規則
就直接使用這個字段 作為主鍵
身份證號
2.**主鍵
表裡面 沒有乙個字段 符合主鍵的規則
自己建立 id 作為表的主鍵 這個鍵就叫**主鍵
主鍵生成策略(7種)
identity
主鍵自增 使用資料庫當中的主鍵自增
插入時 列印的sql語句中 不會插入id
increment
主鍵自增 由hibernate來管理
插入資料時 先去資料庫中查詢當前的最大id
然後 把查出來的id + 1 再插入資料
uuid
全球不重複唯一標識 32位 字串
注意:id必須使用字串型別
native(最常用 三合一)
根據使用的資料庫型別來選擇使用哪個策略
所有資料庫都支援identity或者sequence
identity + sequence + hilo
hilo (高低位演算法)
將主鍵交給hibernate處理 使用自己的演算法 幫你維護主鍵
assigned
由自己維護主鍵 插入資料時需要有主鍵
使用的**主鍵
sequence oracle 預設的
獲取session的封裝方法
package com.lanou3g.utils;
import org.hibernate.session;
import org.hibernate.sessionfactory;
import org.hibernate.cfg.configuration;
/* * 作用
* 獲取session物件
*/public class hibernateutil
// 獲取session的方法
// 建立乙個全新的session
public static session getopensession()
// 獲取當前使用的session
// 注意:使用該方法 必須在主配置檔案中配置一下
public static session getcurrentsession()
public static void close()
}
hibernate操作物件的三種狀態
1.瞬時態 沒有id 沒有跟session產生關係
2.持久態 有id 有跟session產生關係
3.游離態 有id 沒跟session產生關係
hibernate在運算元據庫的時候就是將持久態的資料同步到資料庫中
Spring 學習筆記整合 Hibernate
spring和hibernate處於不同的層次,spring關心的是業務邏輯之間的組合關係,spring提供了對他們的強大的管理能力,而hibernate完成了or的對映,使開發人員不用再去關心sql語句,直接與物件打交道。spring提供了對hibernate的sessionfactory的整合功...
java學習之this 用法
關於this,基本的用法是 1 使用this呼叫成員變數或成員函式 2 使用this呼叫建構函式 舉例 建立乙個person類 class person string name 定義三個成員變數 int age string adress person system.out.println 無參建構...
java學習之介面
inte ce 成員常量 public static final 成員函式 public abstract介面是不可以建立物件的,因為有抽象方法。子類對介面中的抽象方法全部實現後,子類才能夠例項化,否者子類是乙個抽象類。介面是對外暴露的規則 介面是程式的功能擴充套件 介面可以用來多實現 類與介面之間...