在使用hibernate學習java持久性時,我發現hibernate使得它強制定義dialect屬性。我很困惑,SQL是通用語言,它用於數據庫通信,爲什麼我們應該爲不同的數據庫使用不同的方言?爲什麼hibernate嚴格要求定義方言,而JPA規範不關心它?爲什麼hibernate嚴格要求定義hibernate.dialect屬性,而JPA規範並沒有強制它?
0
A
回答
1
通常Hibernate不需要設置hibernate.dialect屬性。
看一看哪些文檔章節7.12說:http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#database-dialect
7.12。數據庫方言
儘管SQL相對標準化,但每個數據庫供應商都使用子集和ANSI SQL定義語法的超集。這被稱爲 數據庫的方言。 Hibernate通過其各個數據庫供應商的org.hibernate.dialect.Dialect類和 各種子類來處理這些 方言中的變體。
在大多數情況下,Hibernate將能夠通過在 引導過程中詢問JDBC Connection的一些問題來確定使用的方言 。有關Hibernate能夠確定要使用的 適當的方言(以及您影響該分辨率的能力)的信息,請參閱方言分辨率, 。
如果由於某種原因無法確定合適的人,或者您想使用自定義方言,則需要設置 hibernate.dialect設置。
相關問題
- 1. 爲什麼我們設置屬性Hibernate.Dialect?
- 2. 什麼屬於控制器規範,屬於請求規範?
- 3. 爲什麼要求規格中沒有水豚?
- 4. 爲什麼沒有javax.servlet.http.HttpServletRequest的規範定義?
- 5. 春天Hibernate的JPA規範
- 6. JPA/Ebean - 強制@Id要嚴格+1 PostgreSQL的
- 7. HTML5自定義屬性 - 爲什麼要使用它們?
- 8. JPA和JDO規範有什麼區別?
- 9. 由File API規範定義的File.url屬性是什麼?
- 10. 在定義的範圍內強制XML屬性唯一性
- 11. hibernate如何在沒有JPA規範的情況下工作
- 12. 爲什麼Servlet規範中有魔術屬性暴露?
- 13. JS:什麼是'這個'強制?嚴格的用法是什麼?
- 14. 爲什麼我的要求強參數沒有拿起?
- 15. 爲什麼OAuth2規範沒有爲隱式流定義JSON響應模式?
- 16. 保持說結果屬性沒有定義。爲什麼?
- 17. 爲什麼沒有必要爲此C#函數強制轉換?
- 18. RSpec生成請求規範,而不是控制器規格
- 19. 什麼規格/要求適合?
- 20. 爲什麼強調MBean定義中的鍵入屬性/方法?
- 21. MongoDB:使用MapReduce而沒有並行性有什麼意義?
- 22. 要求(「lodash」) - 要求沒有定義
- 23. 爲什麼@JoinTable上的JPA(Hibernate)外鍵定義不起作用?
- 24. 爲什麼有些房產要求「強」,有些則不需要?
- 25. 沒有空格的元素和自身屬性的CSS規範
- 26. 什麼是Maven「請求屬性」與「系統屬性」的定義?
- 27. Wicket + Spring + JPA + Hibernate:沒有定義名爲'dataSource'的bean
- 28. 在要求規範
- 29. FLEX/BISON:爲什麼我的規則沒有被重新規範?
- 30. plsql包中的規範 - 爲什麼需要它
謝謝西蒙。這非常有用。 –