IntelliJ IDEA:使用持久化工具窗口

2019-02-20 13:40 更新

使用持久化工具窗口

此功能僅在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)入:

  1. 右鍵單擊模塊,持久化單元或會(huì)話工廠,指向“生成持久化映射”,然后選擇以下選項(xiàng)之一:
    • 通過數(shù)據(jù)庫模式
    • 通過實(shí)體Bean
    • 通過Hibernate Mappings (此選項(xiàng)不適用于啟用Hibernate的模塊和會(huì)話工廠)
  2. 在打開的對(duì)話框中,指定導(dǎo)入源和輸出選項(xiàng)。

示例:使用數(shù)據(jù)庫作為源

  1. 右鍵單擊模塊,持久化單元或會(huì)話工廠,指向“生成持久化映射”,然后選擇“通過數(shù)據(jù)庫模式”。
  2. 在打開的“導(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í)體類

  1. 右鍵單擊持久化單元或會(huì)話工廠,指向“新建”,然后選擇“實(shí)體”。
  2. 在打開的“新建實(shí)體”對(duì)話框中,指定:
    • 創(chuàng)建類:類的名稱。
    • 目標(biāo)包:應(yīng)在其中創(chuàng)建類的包。
    • Target目標(biāo)目錄: 目標(biāo)源根文件夾(如果有多個(gè))。
  3. 對(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):

  1. 右鍵單擊模塊,持久化單元,會(huì)話工廠或?qū)嶓w,然后選擇“分配數(shù)據(jù)源”。
  2. 在打開的對(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)

  1. 右鍵單擊模塊,會(huì)話工廠或?qū)嶓w,然后選擇“指定命名策略”。
  2. 在打開的對(duì)話框中,單擊必要的“命名策略”單元格,然后從列表中選擇實(shí)現(xiàn)類。

啟動(dòng)JPQL或HQL控制臺(tái)

右鍵單擊持久化單元或會(huì)話工廠或其中的任何節(jié)點(diǎn),然后選擇Console。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)