如何在 IntelliJ 12 中启用 HQL/JPQL 自动完成

Posted

技术标签:

【中文标题】如何在 IntelliJ 12 中启用 HQL/JPQL 自动完成【英文标题】:How to enable HQL/JPQL auto completion in IntelliJ 12 【发布时间】:2013-05-26 03:40:26 【问题描述】:

我在 IntelliJ 12 中无法启用 JPQL/HQL 自动完成支持。每当我编辑查询时,IDEA 都不会在 Ctrl-Space 上给我任何建议。

我启用了以下插件

数据库 休眠 持久性框架 Java EE SQL

假设我们有这个实体。

@Entity
public class SubKonto extends PersistentEntity implements Serializable     
    @OneToOne
    private Hierarchieknoten hierarchieknoten;

    @ManyToOne
    private SchnittstellenKonfiguration schnittstellenKonfiguration;

    @Column
    private String kontoNummer;

如果我自己编写一个 JP Query,我会看到 IntelliJ 支持自动完成。

"from Sub

用 Ctrl-Space 完成到

"from SubKonto

然后从

"from SubKonto sk where sk.k

用 Ctrl-Space 完成到

"from SubKonto sk where sk.kontoNummer

谁能给我提示如何启用它? .

【问题讨论】:

您在寻找什么样的自动补全?表名和列名?还是只是 SQL 关键字? 对不起,我太不具体了。请在更新后的问题中找到我上面的解释 如果你转到View - Tool Windows - Persistence,你会得到一个新的窗格,你的persistence.xml是否被分配了一个数据源?如果没有,请执行此操作,我认为它会起作用。 【参考方案1】:

我不认为您的插件是问题所在。您应该检查两件事:

确保您已设置 JPA 构面。您可以在项目结构菜单下执行此操作(请参见下面的屏幕截图)。

通过单击视图 -> 工具窗口 -> 持久性来设置持久性单元。然后,您将在左下角看到下面屏幕截图中显示的面板。右键单击此处最顶部的节点(在我的示例中为“协作平台”,然后您可以选择添加新的持久性单元。

注意:推荐但可选的步骤是设置数据源并将其链接到您的持久性单元。您可以在屏幕截图右侧显示的数据库面板中执行此操作。添加数据源后,您可以右键单击持久性单元并选择“分配数据源...”

然后您的自动完成功能应该会启动并运行(它适用于我 :))。

【讨论】:

以上是关于如何在 IntelliJ 12 中启用 HQL/JPQL 自动完成的主要内容,如果未能解决你的问题,请参考以下文章

如何在intellij idea中启用从源到外部库的滚动?

为在IntelliJ中运行的Tomcat启用CORS

使用 IntelliJ 12 制作 Android+Scala 项目的简单方法?

Intellij IDEA中使用Debug

在Intellij IDEA中使用Debug

在Intellij IDEA中使用Debug