使用持久化工具窗口
此功能僅在Ultimate版本中受支持。
工具窗口概述
在持久化工具窗口顯示JPA和Hibernate項(xiàng)目項(xiàng),并允許您創(chuàng)建配置文件,<persistence-unit>和<session-factory>元素,持久化類和字段,導(dǎo)航到編輯器中的相關(guān)的源代碼(F4),打開控制臺(tái)和實(shí)體關(guān)系圖等等。
先決條件
要使Hibernate控制臺(tái)完全正常運(yùn)行,您應(yīng)該:?jiǎn)⒂肑PA支持或啟用Hibernate支持。
要打開工具窗口,請(qǐng)執(zhí)行以下操作之一:
- 選擇:查看|工具窗口|持久化
- 如果當(dāng)前顯示工具窗口欄,請(qǐng)單擊“持久化”按鈕(通常位于工作區(qū)的左下角)。
- 點(diǎn)擊工作區(qū)的左下角的 或 ,選擇“持久化”。
生成托管實(shí)體類和O/R映射
您可以通過導(dǎo)入為它們生成托管實(shí)體類和對(duì)象/關(guān)系映射:
- 由數(shù)據(jù)源表示的數(shù)據(jù)庫模式。
- 具有關(guān)聯(lián)部署描述符文件ejb-jar.xml的EJB facet。facet應(yīng)該在同一個(gè)項(xiàng)目中可用。從ejb-jar.xml中檢索信息時(shí),僅處理<entity>元素。
- 僅適用于JPA:Hibernate對(duì)象/關(guān)系映射文件(.hbm.xml)。該文件應(yīng)該在同一個(gè)項(xiàng)目中。
要執(zhí)行導(dǎo)入:
- 右鍵單擊模塊,持久化單元或會(huì)話工廠,指向“生成持久化映射”,然后選擇以下選項(xiàng)之一:
- 通過數(shù)據(jù)庫模式
- 通過實(shí)體Bean
- 通過Hibernate Mappings (此選項(xiàng)不適用于啟用Hibernate的模塊和會(huì)話工廠)
- 在打開的對(duì)話框中,指定導(dǎo)入源和輸出選項(xiàng)。
示例:使用數(shù)據(jù)庫作為源
- 右鍵單擊模塊,持久化單元或會(huì)話工廠,指向“生成持久化映射”,然后選擇“通過數(shù)據(jù)庫模式”。
- 在打開的“導(dǎo)入數(shù)據(jù)庫模式”對(duì)話框中:
- 常規(guī)設(shè)置。選擇要用作源的數(shù)據(jù)源。指定實(shí)體類的目標(biāo)包,以及類名的前綴和后綴。
- 數(shù)據(jù)庫模式映射。選擇要映射的表和列,編輯類和字段名稱("映射為" 列),并指定字段類型("映射類型" 列)。
- 生成設(shè)置。指定目標(biāo)<persistence-unit>或<session-factory>,然后選擇必要的輸出選項(xiàng)。
使用New命令
New命令允許您創(chuàng)建XML配置文件、<persistence-unit>和<session-factory>元素、實(shí)體類、嵌入項(xiàng)、映射的超類、實(shí)體偵聽器和對(duì)象關(guān)系映射、實(shí)體類中的持久字段以及它們的 getter 和 setter 方法等。
可以使用上下文或“File”菜單或鍵盤快捷鍵Alt+Insert訪問 “ New”命令。命令選項(xiàng)取決于當(dāng)前選擇的項(xiàng)目。
示例:創(chuàng)建實(shí)體類
- 右鍵單擊持久化單元或會(huì)話工廠,指向“新建”,然后選擇“實(shí)體”。
- 在打開的“新建實(shí)體”對(duì)話框中,指定:
- 創(chuàng)建類:類的名稱。
- 目標(biāo)包:應(yīng)在其中創(chuàng)建類的包。
- Target目標(biāo)目錄: 目標(biāo)源根文件夾(如果有多個(gè))。
- 對(duì)于JPA,將顯示“選擇元數(shù)據(jù)目標(biāo)”對(duì)話框。選擇要為類添加映射信息的文件:
- 對(duì)象/關(guān)系映射XML文件:信息將作為帶有<entity-mappings>的<entity>元素添加到其中。
- 類文件本身(.java):將添加@Entity注釋。
IntelliJ IDEA還將信息添加到persistence.xml,作為<class>或<mapping-file>元素。對(duì)于Hibernate,不顯示“選擇元數(shù)據(jù)目標(biāo)”對(duì)話框。@Entity注釋被添加到類,并且<mapping class="">元素被添加到hibernate.cfg.xml。
打開實(shí)體關(guān)系圖
要打開實(shí)體關(guān)系圖,請(qǐng)右鍵單擊持久化單元,會(huì)話工廠,實(shí)體或字段,然后從上下文菜單中選擇ER Diagram。
將持久化單元和會(huì)話工廠與數(shù)據(jù)源相關(guān)聯(lián)
您可以將<persistence-unit>或<session-factory>元素與數(shù)據(jù)源相關(guān)聯(lián)。如果你這樣做:
- 引用數(shù)據(jù)庫表的源代碼將根據(jù)相應(yīng)的數(shù)據(jù)源自動(dòng)進(jìn)行驗(yàn)證。
- 使用JPA或Hibernate控制臺(tái)時(shí),無需另外指定數(shù)據(jù)庫連接設(shè)置。將自動(dòng)使用為關(guān)聯(lián)的DB數(shù)據(jù)源配置的相應(yīng)設(shè)置。
如果通過導(dǎo)入數(shù)據(jù)庫模式生成<persistence-unit>或<session-factory>元素,則會(huì)自動(dòng)設(shè)置相應(yīng)元素與數(shù)據(jù)源之間的關(guān)聯(lián)。
要將持久化單元或會(huì)話工廠與數(shù)據(jù)源相關(guān)聯(lián):
- 右鍵單擊模塊,持久化單元,會(huì)話工廠或?qū)嶓w,然后選擇“分配數(shù)據(jù)源”。
- 在打開的對(duì)話框中,單擊必要的“數(shù)據(jù)源”單元格,然后從列表中選擇數(shù)據(jù)源。(要?jiǎng)h除與數(shù)據(jù)源的關(guān)聯(lián),請(qǐng)選擇<none>。)
將會(huì)話工廠與NamingStrategy實(shí)現(xiàn)類(Hibernate)關(guān)聯(lián)
- 右鍵單擊模塊,會(huì)話工廠或?qū)嶓w,然后選擇“指定命名策略”。
- 在打開的對(duì)話框中,單擊必要的“命名策略”單元格,然后從列表中選擇實(shí)現(xiàn)類。
啟動(dòng)JPQL或HQL控制臺(tái)
右鍵單擊持久化單元或會(huì)話工廠或其中的任何節(jié)點(diǎn),然后選擇Console。
更多建議: