人民幣定價:99 元
定價
:NT$ 594 元優惠價
:
87 折 517 元
絕版無法訂購
無法訂購
商品簡介
作者簡介
目次
商品簡介
本書全面講述了Hibernate和Java Persistence,并對兩者進行了詳細的對比分析。書中通過一個應用將數百個例子融合起來,不僅深入剖析了Hibernate 3.2和Java Persistence豐富的編程模型,還深刻闡述了數據庫設計、對象/關系映射(ORM)和優化等方面的基本原則、策略和最佳實踐。書中處處閃爍著作者超凡的真知灼見,將大大升華讀者對ORM乃至企業級應用開發的理解。 本書適合廣大的開發人員,從ORM的初學者到經驗豐富的開發人員。
作者簡介
Christian Bauer,Hibernate核心開發人員,并負責維護Hibernate的文檔與網站。目前他是Red Hat公司JBoss部門負責Hibernate、EJB 3.0和Seam的產品經理。
目次
第一部分 從Hibernate和EJB 3.0開始
第1章 理解對象/關系持久化
1.1 什么是持久化
1.1.1 關系數據庫
1.1.2 理解SQL
1.1.3 在Java中使用SQL
1.1.4 面向對象應用程序中的持久化
1.2 范式不匹配
1.2.1 粒度問題
1.2.2 子類型問題
1.2.3 同一性問題
1.2.4 與關聯相關的問題
1.2.5 數據導航的問題
1.2.6 不匹配的代價
1.3 持久層和其他層
1.3.1 分層架構
1.3.2 用SQL/JDBC手工編寫持久層
1.3.3 使用序列化
1.3.4 面向對象的數據庫系統
1.3.5 其他選項
1.4 ORM
1.4.1 什么是ORM
1.4.2 一般的ORM問題
1.4.3 為什么選擇ORM
1.4.4 Hibernate、EJB 3和JPA簡介
1.5 小結
第2章 啟動項目
2.1 啟動Hibernate項目
2.1.1 選擇開發過程
2.1.2 建立項目
2.1.3 Hibernate配置和啟動
2.1.4 運行和測試應用程序
2.2 啟動Java Persistence項目
2.2.1 使用Hibernate Annotations
2.2.2 使用Hibernate EntityManager
2.2.3 引入EJB組件
2.2.4 切換到Hibernate接口
2.3 反向工程遺留數據庫
2.3.1 創建數據庫配置
2.3.2 定制反向工程
2.3.3 生成Java源代碼
2.4 與Java EE服務整合
2.4.1 與JTA整合
2.4.2 JNDI綁定的SessionFactory
2.4.3 JMX服務部署
2.5 小結
第3章 領域模型和元數據
3.1 CaveatEmptor應用程序
3.1.1 分析業務領域
3.1.2 CaveatEmptor領域模型
3.2 實現領域模型
3.2.1 處理關注點滲漏
3.2.2 透明和自動持久化
3.2.3 編寫POJO和持久化實體類
3.2.4 實現POJO關聯
3.2.5 把邏輯添加到訪問方法
3.3 ORM元數據
3.3.1 XML中的元數據
3.3.2 基于注解的元數據
3.3.3 使用XDoclet
3.3.4 處理全局的元數據
3.3.5 運行時操作元數據
3.4 其他實體表示法
3.4.1 創建動態的應用程序
3.4.2 表示XML中的數據
3.5 小結
第二部分 映射概念和策略
第4章 映射持久化類
4.1 理解實體和值類型
4.1.1 細粒度的領域模型
4.1.2 定義概念
4.1.3 識別實體和值類型
4.2 映射帶有同一性的實體
4.2.1 理解Java同一性和等同性
4.2.2 處理數據庫同一性
4.2.3 數據庫主鍵
4.3 類映射選項
4.3.1 動態的SQL生成
4.3.2 使實體不可變
4.3.3 給查詢命名實體
4.3.4 聲明包名稱
4.3.5 用引號把SQL標識符括起來
4.3.6 實現命名約定
4.4 細粒度的模型和映射
4.4.1 映射基礎屬性
4.4.2 映射組件
4.5 小結
第5章 繼承和定制類型
5.1 映射類繼承
5.1.1 每個帶有隱式多態的具體類一張表
5.1.2 每個帶有聯合的具體類一張表
5.1.3 每個類層次結構一張表
5.1.4 每個子類一張表
5.1.5 混合繼承策略
5.1.6 選擇策略
5.2 Hibernate類型系統
5.2.1 概述實體和值類型
5.2.2 內建的映射類型
5.2.3 使用映射類型
5.3 創建定制的映射類型
5.3.1 考慮定制的映射類型
5.3.2 擴展點
5.3.3 定制映射類型的案例
5.3.4 創建UserType
5.3.5 創建CompositeUserType
5.3.6 參數化定制類型
5.3.7 映射枚舉
5.4 小結
第6章 映射集合和實體關聯
6.1 值類型的set、bag、list和map
6.1.1 選擇集合接口
6.1.2 映射set
6.1.3 映射標識符bag
6.1.4 映射list
6.1.5 映射map
6.1.6 排序集合和有序集合
6.2 組件的集合
6.2.1 編寫組件類
6.2.2 映射集合
6.2.3 啟用雙向導航
6.2.4 避免非空列
6.3 用注解映射集合
6.3.1 基本的集合映射
6.3.2 排序集合和有序集合
6.3.3 映射嵌入式對象的集合
6.4 映射父/子關系
6.4.1 多樣性
6.4.2 最簡單的可能關聯
6.4.3 使關聯雙向
6.4.4 級聯對象狀態
6.5 小結
第7章 高級實體關聯映射
7.1 單值的實體關聯
7.1.1 共享的主鍵關聯
7.1.2 一對一的外鍵關聯
7.1.3 用聯結表映射
7.2 多值的實體關聯
7.2.1 一對多關聯
7.2.2 多對多關聯
7.2.3 把列添加到聯結表
7.2.4 映射map
7.3 多態關聯
7.3.1 多態的多對一關聯
7.3.2 多態集合
7.3.3 對聯合的多態關聯
7.3.4 每個具體類一張多態表
7.4 小結
第8章 遺留數據庫和定制SQL
8.1 整合遺留數據庫
8.1.1 處理主鍵
8.1.2 帶有公式的任意聯結條件
8.1.3 聯結任意的表
8.1.4 使用觸發器
8.2 定制SQL
8.2.1 編寫定制CRUD語句
8.2.2 整合存儲過程和函數
8.3 改進Schema DDL
8.3.1 定制SQL名稱和數據類型
8.3.2 確保數據一致性
8.3.3 添加領域約束和列約束
8.3.4 表級約束
8.3.5 數據庫約束
8.3.6 創建索引
8.3.7 添加輔助的DDL
8.4 小結
第三部分 會話對象處理
第9章 使用對象
9.1 持久化生命周期
9.1.1 對象狀態
9.1.2 持久化上下文
9.2 對象同一性和等同性
9.2.1 引入對話
9.2.2 對象同一性的范圍
9.2.3 脫管對象的同一性
9.2.4 擴展持久化上下文
9.3 Hibernate接口
9.3.1 保存和加載對象
9.3.2 使用脫管對象
9.3.3 管理持久化上下文
9.4 JPA
9.4.1 保存和加載對象
9.4.2 使用脫管的實體實例
9.5 在EJB組件中使用Java Persistence
9.5.1 注入EntityManager
9.5.2 查找EntityManager
9.5.3 訪問EntityManagerFactory
9.6 小結
第10章 事務和并發
10.1 事務本質
10.1.1 數據庫和系統事務
10.1.2 Hibernate應用程序中的事務
10.1.3 使用Java Persistence的事務
10.2 控制并發訪問
10.2.1 理解數據庫級并發
10.2.2 樂觀并發控制
10.2.3 獲得額外的隔離性保證
10.3 非事務數據訪問
10.3.1 揭開自動提交的神秘面紗
10.3.2 使用Hibernate非事務地工作
10.3.3 使用JTA的可選事務
10.4 小結
第11章 實現對話
11.1 傳播Hibernate Session
11.1.1 Session傳播的用例
11.1.2 通過線程局部傳播
11.1.3 利用JTA傳播
11.1.4 利用EJB傳播
11.2 利用Hibernate的對話
11.2.1 提供對話保證
11.2.2 利用脫管對象的對話
11.2.3 給對話擴展Session
11.3 使用JPA的對話
11.3.1 Java SE中的持久化上下文傳播
11.3.2 在對話中合并脫管對象
11.3.3 在Java SE中擴展持久化上下文
11.4 使用EJB 3.0的對話
11.4.1 使用EJB的上下文傳播
11.4.2 利用EJB擴展持久化上下文
11.5 小結
第12章 有效修改對象
12.1 傳播性持久化
12.1.1 按可到達性持久化
12.1.2 把級聯應用到關聯
12.1.3 使用傳播性狀態
12.1.4 利用JPA的傳播性關聯
12.2 大批量和批量操作
12.2.1 使用HQL和JPA QL的大批量語句
12.2.2 利用批量處理
12.2.3 使用無狀態的會話
12.3 數據過濾和攔截
12.3.1 動態數據過濾
12.3.2 攔截Hibernate事件
12.3.3 內核事件系統
12.3.4 實體監聽器和回調
12.4 小結
第13章 優化抓取和高速緩存
13.1 定義全局抓取計劃
13.1.1 對象獲取選項
13.1.2 延遲的默認抓取計劃
13.1.3 理解代理
13.1.4 禁用代理生成
13.1.5 關聯和集合的即時加載
13.1.6 通過攔截延遲加載
13.2 選擇抓取策略
13.2.1 批量預抓取數據
13.2.2 通過子查詢預抓取集合
13.2.3 通過聯結即時抓取
13.2.4 給二級表優化抓取
13.2.5 優化指導方針
13.3 高速緩存基本原理
13.3.1 高速緩存策略和范圍
13.3.2 Hibernate高速緩存架構
13.4 高速緩存實踐
13.4.1 選擇并發控制策略
13.4.2 理解高速緩存區域
13.4.3 設置本地的高速緩存提供程序
13.4.4 設置重復的高速緩存
13.4.5 控制二級高速緩存
13.5 小結
第14章 利用HQL和JPA QL查詢
14.1 創建和運行查詢
14.1.1 準備查詢
14.1.2 執行查詢
14.1.3 使用具名查詢
14.2 基本的HQL和JPA QL查詢
14.2.1 選擇
14.2.2 限制
14.2.3 投影
14.3 聯結、報表查詢和子查詢
14.3.1 聯結關系和關聯
14.3.2 報表查詢
14.3.3 利用子查詢
14.4 小結
第15章 高級查詢選項
15.1 利用條件和示例查詢
15.1.1 基本的條件查詢
15.1.2 聯結和動態抓取
15.1.3 投影和報表查詢
15.1.4 按示例查詢
15.2 利用原生的SQL查詢
15.2.1 自動的結果集處理
15.2.2 獲取標量值
15.2.3 Java Persistence中的原生SQL
15.3 過濾集合
15.4 高速緩存查詢結果
15.4.1 啟用查詢結果高速緩存
15.4.2 理解查詢高速緩存
15.4.3 什么時候使用查詢高速緩存
15.4.4 自然標識符高速緩存查找
15.5 小結
第16章 創建和測試分層的應用程序
16.1 Web應用程序中的Hibernate
16.1.1 用例簡介
16.1.2 編寫控制器
16.1.3 OSIV模式
16.1.4 設計巧妙的領域模型
16.2 創建持久層
16.2.1 泛型的數據訪問對象模式
16.2.2 實現泛型CRUD接口
16.2.3 實現實體DAO
16.2.4 利用數據訪問對象
16.3 命令模式簡介
16.3.1 基礎接口
16.3.2 執行命令對象
16.3.3 命令模式的變形
16.4 利用EJB 3.0設計應用程序
16.4.1 利用有狀態的bean實現會話
16.4.2 利用EJB編寫DAO
16.4.3 利用依賴注入
16.5 測試
16.5.1 理解不同種類的測試
16.5.2 TestNG簡介
16.5.3 測試持久層
16.5.4 考慮性能基準
16.6 小結
第17章 JBoss Seam簡介
17.1 Java EE 5.0編程模型
17.1.1 JSF詳解
17.1.2 EJB 3.0詳解
17.1.3 用JSF和EJB 3.0編寫Web應用程序
17.1.4 分析應用程序
17.2 用Seam改善應用程序
17.2.1 配置Seam
17.2.2 將頁面綁定到有狀態的Seam組件
17.2.3 分析Seam應用程序
17.3 理解上下文組件
17.3.1 編寫登錄頁面
17.3.2 創建組件
17.3.3 給上下文變量起別名
17.3.4 完成登錄/注銷特性
17.4 驗證用戶輸入
17.4.1 Hibernate Validator簡介
17.4.2 創建注冊頁面
17.4.3 用Seam實現國際化
17.5 利用Seam簡化持久化
17.5.1 實現對話
17.5.2 讓Seam管理持久化上下文
17.6 小結
附錄A SQL基礎知識
附錄B 映射快速參考
第1章 理解對象/關系持久化
1.1 什么是持久化
1.1.1 關系數據庫
1.1.2 理解SQL
1.1.3 在Java中使用SQL
1.1.4 面向對象應用程序中的持久化
1.2 范式不匹配
1.2.1 粒度問題
1.2.2 子類型問題
1.2.3 同一性問題
1.2.4 與關聯相關的問題
1.2.5 數據導航的問題
1.2.6 不匹配的代價
1.3 持久層和其他層
1.3.1 分層架構
1.3.2 用SQL/JDBC手工編寫持久層
1.3.3 使用序列化
1.3.4 面向對象的數據庫系統
1.3.5 其他選項
1.4 ORM
1.4.1 什么是ORM
1.4.2 一般的ORM問題
1.4.3 為什么選擇ORM
1.4.4 Hibernate、EJB 3和JPA簡介
1.5 小結
第2章 啟動項目
2.1 啟動Hibernate項目
2.1.1 選擇開發過程
2.1.2 建立項目
2.1.3 Hibernate配置和啟動
2.1.4 運行和測試應用程序
2.2 啟動Java Persistence項目
2.2.1 使用Hibernate Annotations
2.2.2 使用Hibernate EntityManager
2.2.3 引入EJB組件
2.2.4 切換到Hibernate接口
2.3 反向工程遺留數據庫
2.3.1 創建數據庫配置
2.3.2 定制反向工程
2.3.3 生成Java源代碼
2.4 與Java EE服務整合
2.4.1 與JTA整合
2.4.2 JNDI綁定的SessionFactory
2.4.3 JMX服務部署
2.5 小結
第3章 領域模型和元數據
3.1 CaveatEmptor應用程序
3.1.1 分析業務領域
3.1.2 CaveatEmptor領域模型
3.2 實現領域模型
3.2.1 處理關注點滲漏
3.2.2 透明和自動持久化
3.2.3 編寫POJO和持久化實體類
3.2.4 實現POJO關聯
3.2.5 把邏輯添加到訪問方法
3.3 ORM元數據
3.3.1 XML中的元數據
3.3.2 基于注解的元數據
3.3.3 使用XDoclet
3.3.4 處理全局的元數據
3.3.5 運行時操作元數據
3.4 其他實體表示法
3.4.1 創建動態的應用程序
3.4.2 表示XML中的數據
3.5 小結
第二部分 映射概念和策略
第4章 映射持久化類
4.1 理解實體和值類型
4.1.1 細粒度的領域模型
4.1.2 定義概念
4.1.3 識別實體和值類型
4.2 映射帶有同一性的實體
4.2.1 理解Java同一性和等同性
4.2.2 處理數據庫同一性
4.2.3 數據庫主鍵
4.3 類映射選項
4.3.1 動態的SQL生成
4.3.2 使實體不可變
4.3.3 給查詢命名實體
4.3.4 聲明包名稱
4.3.5 用引號把SQL標識符括起來
4.3.6 實現命名約定
4.4 細粒度的模型和映射
4.4.1 映射基礎屬性
4.4.2 映射組件
4.5 小結
第5章 繼承和定制類型
5.1 映射類繼承
5.1.1 每個帶有隱式多態的具體類一張表
5.1.2 每個帶有聯合的具體類一張表
5.1.3 每個類層次結構一張表
5.1.4 每個子類一張表
5.1.5 混合繼承策略
5.1.6 選擇策略
5.2 Hibernate類型系統
5.2.1 概述實體和值類型
5.2.2 內建的映射類型
5.2.3 使用映射類型
5.3 創建定制的映射類型
5.3.1 考慮定制的映射類型
5.3.2 擴展點
5.3.3 定制映射類型的案例
5.3.4 創建UserType
5.3.5 創建CompositeUserType
5.3.6 參數化定制類型
5.3.7 映射枚舉
5.4 小結
第6章 映射集合和實體關聯
6.1 值類型的set、bag、list和map
6.1.1 選擇集合接口
6.1.2 映射set
6.1.3 映射標識符bag
6.1.4 映射list
6.1.5 映射map
6.1.6 排序集合和有序集合
6.2 組件的集合
6.2.1 編寫組件類
6.2.2 映射集合
6.2.3 啟用雙向導航
6.2.4 避免非空列
6.3 用注解映射集合
6.3.1 基本的集合映射
6.3.2 排序集合和有序集合
6.3.3 映射嵌入式對象的集合
6.4 映射父/子關系
6.4.1 多樣性
6.4.2 最簡單的可能關聯
6.4.3 使關聯雙向
6.4.4 級聯對象狀態
6.5 小結
第7章 高級實體關聯映射
7.1 單值的實體關聯
7.1.1 共享的主鍵關聯
7.1.2 一對一的外鍵關聯
7.1.3 用聯結表映射
7.2 多值的實體關聯
7.2.1 一對多關聯
7.2.2 多對多關聯
7.2.3 把列添加到聯結表
7.2.4 映射map
7.3 多態關聯
7.3.1 多態的多對一關聯
7.3.2 多態集合
7.3.3 對聯合的多態關聯
7.3.4 每個具體類一張多態表
7.4 小結
第8章 遺留數據庫和定制SQL
8.1 整合遺留數據庫
8.1.1 處理主鍵
8.1.2 帶有公式的任意聯結條件
8.1.3 聯結任意的表
8.1.4 使用觸發器
8.2 定制SQL
8.2.1 編寫定制CRUD語句
8.2.2 整合存儲過程和函數
8.3 改進Schema DDL
8.3.1 定制SQL名稱和數據類型
8.3.2 確保數據一致性
8.3.3 添加領域約束和列約束
8.3.4 表級約束
8.3.5 數據庫約束
8.3.6 創建索引
8.3.7 添加輔助的DDL
8.4 小結
第三部分 會話對象處理
第9章 使用對象
9.1 持久化生命周期
9.1.1 對象狀態
9.1.2 持久化上下文
9.2 對象同一性和等同性
9.2.1 引入對話
9.2.2 對象同一性的范圍
9.2.3 脫管對象的同一性
9.2.4 擴展持久化上下文
9.3 Hibernate接口
9.3.1 保存和加載對象
9.3.2 使用脫管對象
9.3.3 管理持久化上下文
9.4 JPA
9.4.1 保存和加載對象
9.4.2 使用脫管的實體實例
9.5 在EJB組件中使用Java Persistence
9.5.1 注入EntityManager
9.5.2 查找EntityManager
9.5.3 訪問EntityManagerFactory
9.6 小結
第10章 事務和并發
10.1 事務本質
10.1.1 數據庫和系統事務
10.1.2 Hibernate應用程序中的事務
10.1.3 使用Java Persistence的事務
10.2 控制并發訪問
10.2.1 理解數據庫級并發
10.2.2 樂觀并發控制
10.2.3 獲得額外的隔離性保證
10.3 非事務數據訪問
10.3.1 揭開自動提交的神秘面紗
10.3.2 使用Hibernate非事務地工作
10.3.3 使用JTA的可選事務
10.4 小結
第11章 實現對話
11.1 傳播Hibernate Session
11.1.1 Session傳播的用例
11.1.2 通過線程局部傳播
11.1.3 利用JTA傳播
11.1.4 利用EJB傳播
11.2 利用Hibernate的對話
11.2.1 提供對話保證
11.2.2 利用脫管對象的對話
11.2.3 給對話擴展Session
11.3 使用JPA的對話
11.3.1 Java SE中的持久化上下文傳播
11.3.2 在對話中合并脫管對象
11.3.3 在Java SE中擴展持久化上下文
11.4 使用EJB 3.0的對話
11.4.1 使用EJB的上下文傳播
11.4.2 利用EJB擴展持久化上下文
11.5 小結
第12章 有效修改對象
12.1 傳播性持久化
12.1.1 按可到達性持久化
12.1.2 把級聯應用到關聯
12.1.3 使用傳播性狀態
12.1.4 利用JPA的傳播性關聯
12.2 大批量和批量操作
12.2.1 使用HQL和JPA QL的大批量語句
12.2.2 利用批量處理
12.2.3 使用無狀態的會話
12.3 數據過濾和攔截
12.3.1 動態數據過濾
12.3.2 攔截Hibernate事件
12.3.3 內核事件系統
12.3.4 實體監聽器和回調
12.4 小結
第13章 優化抓取和高速緩存
13.1 定義全局抓取計劃
13.1.1 對象獲取選項
13.1.2 延遲的默認抓取計劃
13.1.3 理解代理
13.1.4 禁用代理生成
13.1.5 關聯和集合的即時加載
13.1.6 通過攔截延遲加載
13.2 選擇抓取策略
13.2.1 批量預抓取數據
13.2.2 通過子查詢預抓取集合
13.2.3 通過聯結即時抓取
13.2.4 給二級表優化抓取
13.2.5 優化指導方針
13.3 高速緩存基本原理
13.3.1 高速緩存策略和范圍
13.3.2 Hibernate高速緩存架構
13.4 高速緩存實踐
13.4.1 選擇并發控制策略
13.4.2 理解高速緩存區域
13.4.3 設置本地的高速緩存提供程序
13.4.4 設置重復的高速緩存
13.4.5 控制二級高速緩存
13.5 小結
第14章 利用HQL和JPA QL查詢
14.1 創建和運行查詢
14.1.1 準備查詢
14.1.2 執行查詢
14.1.3 使用具名查詢
14.2 基本的HQL和JPA QL查詢
14.2.1 選擇
14.2.2 限制
14.2.3 投影
14.3 聯結、報表查詢和子查詢
14.3.1 聯結關系和關聯
14.3.2 報表查詢
14.3.3 利用子查詢
14.4 小結
第15章 高級查詢選項
15.1 利用條件和示例查詢
15.1.1 基本的條件查詢
15.1.2 聯結和動態抓取
15.1.3 投影和報表查詢
15.1.4 按示例查詢
15.2 利用原生的SQL查詢
15.2.1 自動的結果集處理
15.2.2 獲取標量值
15.2.3 Java Persistence中的原生SQL
15.3 過濾集合
15.4 高速緩存查詢結果
15.4.1 啟用查詢結果高速緩存
15.4.2 理解查詢高速緩存
15.4.3 什么時候使用查詢高速緩存
15.4.4 自然標識符高速緩存查找
15.5 小結
第16章 創建和測試分層的應用程序
16.1 Web應用程序中的Hibernate
16.1.1 用例簡介
16.1.2 編寫控制器
16.1.3 OSIV模式
16.1.4 設計巧妙的領域模型
16.2 創建持久層
16.2.1 泛型的數據訪問對象模式
16.2.2 實現泛型CRUD接口
16.2.3 實現實體DAO
16.2.4 利用數據訪問對象
16.3 命令模式簡介
16.3.1 基礎接口
16.3.2 執行命令對象
16.3.3 命令模式的變形
16.4 利用EJB 3.0設計應用程序
16.4.1 利用有狀態的bean實現會話
16.4.2 利用EJB編寫DAO
16.4.3 利用依賴注入
16.5 測試
16.5.1 理解不同種類的測試
16.5.2 TestNG簡介
16.5.3 測試持久層
16.5.4 考慮性能基準
16.6 小結
第17章 JBoss Seam簡介
17.1 Java EE 5.0編程模型
17.1.1 JSF詳解
17.1.2 EJB 3.0詳解
17.1.3 用JSF和EJB 3.0編寫Web應用程序
17.1.4 分析應用程序
17.2 用Seam改善應用程序
17.2.1 配置Seam
17.2.2 將頁面綁定到有狀態的Seam組件
17.2.3 分析Seam應用程序
17.3 理解上下文組件
17.3.1 編寫登錄頁面
17.3.2 創建組件
17.3.3 給上下文變量起別名
17.3.4 完成登錄/注銷特性
17.4 驗證用戶輸入
17.4.1 Hibernate Validator簡介
17.4.2 創建注冊頁面
17.4.3 用Seam實現國際化
17.5 利用Seam簡化持久化
17.5.1 實現對話
17.5.2 讓Seam管理持久化上下文
17.6 小結
附錄A SQL基礎知識
附錄B 映射快速參考
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

