阅读(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)。该文件应该在同一个项目中。
要执行导入:
- 右键单击模块,持久化单元或会话工厂,指向“生成持久化映射”,然后选择以下选项之一:
- 通过数据库模式
- 通过实体Bean
- 通过Hibernate Mappings (此选项不适用于启用Hibernate的模块和会话工厂)
- 在打开的对话框中,指定导入源和输出选项。
示例:使用数据库作为源
- 右键单击模块,持久化单元或会话工厂,指向“生成持久化映射”,然后选择“通过数据库模式”。
- 在打开的“导入数据库模式”对话框中:
- 常规设置。选择要用作源的数据源。指定实体类的目标包,以及类名的前缀和后缀。
- 数据库模式映射。选择要映射的表和列,编辑类和字段名称("映射为" 列),并指定字段类型("映射类型" 列)。
- 生成设置。指定目标<persistence-unit>或<session-factory>,然后选择必要的输出选项。
使用New命令
New命令允许您创建XML配置文件、<persistence-unit>和<session-factory>元素、实体类、嵌入项、映射的超类、实体侦听器和对象关系映射、实体类中的持久字段以及它们的 getter 和 setter 方法等。
可以使用上下文或“File”菜单或键盘快捷键Alt+Insert访问 “ New”命令。命令选项取决于当前选择的项目。
示例:创建实体类
- 右键单击持久化单元或会话工厂,指向“新建”,然后选择“实体”。
- 在打开的“新建实体”对话框中,指定:
- 创建类:类的名称。
- 目标包:应在其中创建类的包。
- Target目标目录: 目标源根文件夹(如果有多个)。
- 对于JPA,将显示“选择元数据目标”对话框。选择要为类添加映射信息的文件:
- 对象/关系映射XML文件:信息将作为带有<entity-mappings>的<entity>元素添加到其中。
- 类文件本身(.java):将添加@Entity注释。
打开实体关系图
要打开实体关系图,请右键单击持久化单元,会话工厂,实体或字段,然后从上下文菜单中选择ER Diagram。
将持久化单元和会话工厂与数据源相关联
您可以将<persistence-unit>或<session-factory>元素与数据源相关联。如果你这样做:
- 引用数据库表的源代码将根据相应的数据源自动进行验证。
- 使用JPA或Hibernate控制台时,无需另外指定数据库连接设置。将自动使用为关联的DB数据源配置的相应设置。
如果通过导入数据库模式生成<persistence-unit>或<session-factory>元素,则会自动设置相应元素与数据源之间的关联。
要将持久化单元或会话工厂与数据源相关联:
- 右键单击模块,持久化单元,会话工厂或实体,然后选择“分配数据源”。
- 在打开的对话框中,单击必要的“数据源”单元格,然后从列表中选择数据源。(要删除与数据源的关联,请选择<none>。)
将会话工厂与NamingStrategy实现类(Hibernate)关联
- 右键单击模块,会话工厂或实体,然后选择“指定命名策略”。
- 在打开的对话框中,单击必要的“命名策略”单元格,然后从列表中选择实现类。
启动JPQL或HQL控制台
右键单击持久化单元或会话工厂或其中的任何节点,然后选择Console。