阅读(3730) (12)

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

2019-02-15 16:47:26 更新

使用持久化工具窗口

此功能仅在Ultimate版本中受支持。

工具窗口概述

在持久化工具窗口显示JPA和Hibernate项目项,并允许您创建配置文件,<persistence-unit>和<session-factory>元素,持久化类和字段,导航到编辑器中的相关的源代码(F4),打开控制台和实体关系图等等。

持久性工具窗口

先决条件

要使Hibernate控制台完全正常运行,您应该:启用JPA支持或启用Hibernate支持。

要打开工具窗口,请执行以下操作之一:

  • 选择:查看|工具窗口|持久化
  • 如果当前显示工具窗口栏,请单击“持久化”按钮(通常位于工作区的左下角)。
  • 点击工作区的左下角的 显示工具窗口栏显示隐藏工具窗口栏 ,选择“持久化”。

生成托管实体类和O/R映射

您可以通过导入为它们生成托管实体类和对象/关系映射:

  • 由数据源表示的数据库模式。
  • 具有关联部署描述符文件ejb-jar.xml的EJB facet。facet应该在同一个项目中可用。从ejb-jar.xml中检索信息时,仅处理<entity>元素。
  • 仅适用于JPA:Hibernate对象/关系映射文件(.hbm.xml)。该文件应该在同一个项目中。

要执行导入:

  1. 右键单击模块,持久化单元或会话工厂,指向“生成持久化映射”,然后选择以下选项之一:
    • 通过数据库模式
    • 通过实体Bean
    • 通过Hibernate Mappings (此选项不适用于启用Hibernate的模块和会话工厂)
  2. 在打开的对话框中,指定导入源和输出选项。

示例:使用数据库作为源

  1. 右键单击模块,持久化单元或会话工厂,指向“生成持久化映射”,然后选择“通过数据库模式”。
  2. 在打开的“导入数据库模式”对话框中:
    • 常规设置。选择要用作源的数据源。指定实体类的目标包,以及类名的前缀和后缀。
    • 数据库模式映射。选择要映射的表和列,编辑类和字段名称("映射为" 列),并指定字段类型("映射类型" 列)。
    • 生成设置。指定目标<persistence-unit>或<session-factory>,然后选择必要的输出选项。

使用New命令

New命令允许您创建XML配置文件、<persistence-unit>和<session-factory>元素、实体类、嵌入项、映射的超类、实体侦听器和对象关系映射、实体类中的持久字段以及它们的 getter 和 setter 方法等。

可以使用上下文或“File”菜单或键盘快捷键Alt+Insert访问 “ New”命令。命令选项取决于当前选择的项目。

示例:创建实体类

  1. 右键单击持久化单元或会话工厂,指向“新建”,然后选择“实体”。
  2. 在打开的“新建实体”对话框中,指定:
    • 创建类:类的名称。
    • 目标包:应在其中创建类的包。
    • Target目标目录: 目标源根文件夹(如果有多个)。
  3. 对于JPA,将显示“选择元数据目标”对话框。选择要为类添加映射信息的文件:
    • 对象/关系映射XML文件:信息将作为带有<entity-mappings>的<entity>元素添加到其中。
    • 类文件本身(.java):将添加@Entity注释。
    IntelliJ IDEA还将信息添加到persistence.xml,作为<class>或<mapping-file>元素。对于Hibernate,不显示“选择元数据目标”对话框。@Entity注释被添加到类,并且<mapping class="">元素被添加到hibernate.cfg.xml。

打开实体关系图

要打开实体关系图,请右键单击持久化单元,会话工厂,实体或字段,然后从上下文菜单中选择ER Diagram。

将持久化单元和会话工厂与数据源相关联

您可以将<persistence-unit>或<session-factory>元素与数据源相关联。如果你这样做:

  • 引用数据库表的源代码将根据相应的数据源自动进行验证。
  • 使用JPA或Hibernate控制台时,无需另外指定数据库连接设置。将自动使用为关联的DB数据源配置的相应设置。

如果通过导入数据库模式生成<persistence-unit>或<session-factory>元素,则会自动设置相应元素与数据源之间的关联。

要将持久化单元或会话工厂与数据源相关联:

  1. 右键单击模块,持久化单元,会话工厂或实体,然后选择“分配数据源”。
  2. 在打开的对话框中,单击必要的“数据源”单元格,然后从列表中选择数据源。(要删除与数据源的关联,请选择<none>。)

将会话工厂与NamingStrategy实现类(Hibernate)关联

  1. 右键单击模块,会话工厂或实体,然后选择“指定命名策略”。
  2. 在打开的对话框中,单击必要的“命名策略”单元格,然后从列表中选择实现类。

启动JPQL或HQL控制台

右键单击持久化单元或会话工厂或其中的任何节点,然后选择Console。