是否可以通過JPA或Hibernate註釋來指定給定索引應該使用範圍能夠索引的方法(比如btree)?如果是這樣,怎麼樣?如何在休眠註釋中指定範圍索引
0
A
回答
3
雖然JPA可以讓你的主鍵(@Id)和唯一約束(@UniqueConstraint)模式,它不會讓你清晰的模型索引。在JPA標準中,當然沒有在索引範圍或樹中建模/提示的功能等。JPA 2.0 Spec
Hibernate支持通過@Index進行索引建模。下面是一個例子:
@Entity
@ org.hibernate.annotations.Table(名稱= 「森林」,索引= {@index(名稱= 「IDX」,COLUMNNAMES = { 「姓名」, 「長度」} )})
公共類森林{...}或單個列索引:
公共類樹木{
@Index(name="story1index") public String getLeaf() { return leaf; }
}
它不允許你指定一個「不等指數」,B樹等... Hibernate Annotations 3.5
IF休眠生成DB模式,那麼它會創建索引。
但是,在任何應用了合理QA的環境中,數據庫模式通常由DBA獨立創建和維護,而不是通過休眠自動模式生成。這是更好的做法,因爲它允許DBA完全根據需要定義所有物理屬性 - 就像您在Q中要求的物理屬性的類型一樣;-)。然後Hibernate與DBA強大的模式版本一起工作。索引是否由Hibernate/JPA建模,只需運行一個數據庫腳本,並創建一個索引。 (或者,您可以將文本編輯應用到休眠/ JPA生成的腳本)
對於Oracle DB,缺省索引類型已經是B樹。在MySQL的情況下,默認索引類型是B-Tree,但內存存儲引擎的情況除外,默認情況下是HASH - 但在索引創建腳本中指定B-Tree很簡單。 MySQL 5 - Create Index
相關問題
- 1. 休眠4.3索引註釋
- 2. 休眠:如何指定聚集索引註釋
- 3. 休眠註釋
- 4. 休眠註釋
- 5. 指定索引範圍
- 6. 註釋JPA休眠
- 7. 休眠註釋double []
- 8. 休眠搜索 - 在給定範圍內搜索
- 9. 如何正確註釋休眠實體
- 10. 休眠註釋和連接
- 11. 休眠4註釋配置
- 12. 休眠註釋混淆
- 13. 休眠註釋元數據
- 14. 註釋例外休眠
- 15. 外鍵休眠註釋
- 16. 休眠註釋冗餘
- 17. 休眠ForeignKey映射註釋
- 18. JPA /休眠OneToMany&ManyToOne註釋
- 19. 休眠會話範圍
- 20. 通過註釋定義休眠集合
- 21. 休眠特定的註釋只
- 22. 指定休眠
- 23. 休眠:如何註釋收藏<Object>允許搜索
- 24. 無法在結果集索引中找到指定的列索引超出範圍索引超出範圍
- 25. 休眠:何時使用@Index註釋
- 26. @ JPA和休眠中的ID註釋
- 27. 什麼是@Fetch註釋在休眠?
- 28. @UniqueConstraint和@Column(unique = true)在休眠註釋
- 29. 在指定範圍內複製Excel單元格註釋
- 30. 休眠條件在日期字段上搜索時間範圍
不是索引數據庫特定的,所以這不是數據庫特定的功能,哪一個更好地處理各自的一方? – dbrin
不是。關鍵是指定您需要運行使用範圍運算符的快速查詢。即將@Index標記爲範圍。這將取決於特定數據庫如何最好地支持這一點 - 許多人會選擇使用btree。 –