原创 7.7 Hibernate:內置生成器 – native

Hibernate 根據使用的數據庫自行判斷採用 identity,hilo 或 sequence 其中一種作爲主鍵生成方式,非常靈活。 如果使用的是 Oracle 數據庫,Hibernate 需要使用一個叫 hibernate_

原创 Apache Shiro 學習目錄

之前項目中採用 Spring Security 作爲安全層框架,雖然很強大,但是學習起來難度也不低,至今也只是邁進去一隻腳,後來發現 Apache Shiro 作爲安全層框架已被廣泛推廣使用,比 Spring Security 更

原创 7.2 Hibernate:內置生成器 -- foreign

foreign 生成器使用另一個關聯對象的 id,主要用於一對一映射關聯。 特點:很少使用,大多用在一對一關係中。 使用 MySQL 演示:

原创 7.1 Hibernate:內置生成器 -- assigned

assigned 是 Hibernate 內置的默認生成器策略,應用程序應該對持久化對象的唯一標識符賦值。 特點:可以跨數據庫,人爲控制主鍵生成,建議儘量避免。 1 使用 XML 1.1 持久化類定義: package hibe

原创 2 Apache Shiro 身份認證(登錄)

2.1 概述 身份認證通常需要提供“用戶”身份ID和一些標識信息,如用戶名、密碼。 Shiro 中需要提供 principals(身份)和 credentials(憑證)用於驗證用戶身份。 principals 身份,即主體

原创 Java 8: java.time.Month

本文內容基於 Oracle Java 官方文檔,經過個人實踐加以整理積累,僅供參考。 1 java.time.Month 是枚舉類型,由 12 個常量組成,代表 1 月至 12 月 /* ===================

原创 3 Apache Shiro 授權

3.1 概述 授權,又稱訪問控制,即在應用中控制用戶可以使用哪些資源(如訪問頁面、頁面操作、數據操作等),覆蓋以下幾個概念: (1) 主體(Subject) 即用戶,Shiro 中使用 Subject 代表用戶。 (2) 角

原创 7.5 Hibernate:內置生成器 – identity

由數據庫自己生成標識符,映射的主鍵必須設置爲自增長,要求數據庫底層支持自增長字段類型。 適用於 Sybase,MySQL,MS SQL Server,DB2 和 Hypersonic SQL,不適用 Oracle 因其無自增字段類

原创 4 Hibernate:使用註解(Annotation)

在 2 Hibernate:入門簡介 中介紹了 Hibernate 開發步驟: (1) 導入 Hibernate 庫文件及開發所用數據庫的驅動文件 (2) 創建 Hibernate 配置文件:hibernate.cfg.xml

原创 7.6 Hibernate:內置生成器 – increment

由 Hibernate 管理主鍵,自動以遞增的方式生成標識符,每次增量爲 1 。 在每次插入數據前從數據庫中取出主鍵當前最大值(每個 session 只取一次),以該值爲基礎加 1 在內存中生成新的主鍵,該操作不依賴於底層數據庫,

原创 Java 8: java.time.DayOfWeek

本文內容基於 Oracle Java 官方文檔,經過個人實踐加以整理積累,僅供參考。 1 java.time.DayOfWeek 是枚舉類型,由 7 個常量組成,代表了一週七天 /* =================== 示例

原创 1 Apache Shiro 簡介

Apache Shiro 是 Java 的一個安全框架,不僅可以用在 JavaSE 環境,也可以用在 JavaEE 環境。 Shiro 功能覆蓋:認證、授權、加密、會話管理、集成 Web、緩存等。 Authenticati

原创 Hibernate 學習目錄

本系列基於 Hibernate 官方文檔。 目錄 1 Eclipse 安裝 Hibernate 插件 2 Hibernate:入門簡介 3 Hibernate:本地 API 單元測試優化 4 Hibernate:使用註解(A

原创 7 Hibernate:生成器

hibernate 定義了許多生成器類用於生成持久化類對象的唯一標識符。 所有生成器類都實現了 org.hibernate.id.IdentifierGenerator 接口,可以通過自定義該接口實現來創建新的生成器。 Hib

原创 6 Hibernate:Envers 入門

Hibernate Envers 記錄實體對象的歷史版本,主要用於審計數據,如意外丟失數據的找回、審計數據合法性等。 Hibernate Envers 使用 @Audited 註解實體對象,Hibernate 爲每一個註解對象映射