【问题标题】:Spring Data JPA intelligence not working in IntellijSpring Data JPA 智能在 Intellij 中不起作用
【发布时间】:2016-03-04 08:56:49
【问题描述】:

我已经使用 Spring Data JPA 建立了一个 Spring Boot 项目,但我没有看到 Spring Data JPA 的智能。

屏幕截图显示了问题,我的 Restaurant 实体有一个变量调用 restaurantAddress,我正试图让 intelliJ 帮助我完成编码,但没有显示任何智能。

我的项目设置如下:

应用类:

@SpringBootApplication
@ComponentScan(basePackages = {"com.mycompany"})
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

POM:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>food</artifactId>
    <version>1.0-SNAPSHOT</version>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.7.RELEASE</version>
    </parent>

    <dependencies>
        <!-- Dependencies for RESTful Web Services -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Dependencies for JPA Data Persistence -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!--JDBC-->
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901-1.jdbc4</version>
        </dependency>

    </dependencies>


    <build>
        <finalName>food</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

        </plugins>
    </build>

</project>

我的 IntelliJ 15 上安装了 Spring Data 插件,项目设置:

【问题讨论】:

  • 其实只是注意到了同样的问题。我不记得曾经工作过。考虑到创建查询时的许多选项,它非常动态。
  • 此博客显示他们确实支持 STS,但我们无法在当前使用的版本中进行配置(我猜是 15):blog.jetbrains.com/idea/2011/11/…
  • 我为此提供了赏金。希望我们能得到社区的帮助..
  • 您确定您已安装并启用了以下插件吗? File -> Settings -> Plugins 并检查/启用插件“数据库工具和 SQL”、“Hibernate 支持”、“Java EE:EJB、JPA、Servlets”和“Spring Data”。
  • @lu_ko 建议对我有用,因为我没有启用 Spring Data 插件。谢谢!

标签: spring intellij-idea spring-data spring-data-jpa


【解决方案1】:

我通过添加JavaEE Persistence 框架支持解决了这个问题。只需右键单击项目,选择Add Framework Support,然后向下滚动找到JavaEE Persistence,然后启用复选框并点击确定:

添加 JavaEE 持久性方面

它会添加一个persistence.xml 文件,你可以删除它。最后你的自动完成将回来:

关键时刻

更新您还可以在Project Structure 中启用JPA 构面。首先,按Ctrl Alt Shift S 或转到Files &gt; Project Structure。点击Add按钮并在菜单中选择JPA

添加 JPA 构面

最后点击OK

【讨论】:

  • “添加框架支持对话框”中没有列出“JavaEE 持久性”选项。我将依赖项 org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final 添加到 POM,但它仍然没有显示出来。有什么建议吗?
  • 我已经添加了 JPA 方面。但是智能还是不行。
  • 如果您已经有JPA框架支持但没有完成,您应该删除它并重新添加。它将(?)生成新的配置。为我工作。
  • @anibyl 添加一个完全没用的persistence.xml 有时会奏效,我猜
  • Intellij 2018.1.5 同样的问题,@UsievaładKimajeŭ 建议对我有用。即删除 Spring Data 插件,重新启动然后启用它。
猜你喜欢
  • 2017-09-21
  • 1970-01-01
  • 2018-12-09
  • 2018-03-20
  • 2015-01-20
  • 2017-06-09
  • 2021-07-27
  • 2018-04-03
  • 2013-05-21
相关资源
最近更新 更多