IntelliJ IDEA 2024.3 Help

JPA console

Use the JPA console to write and run JPQL queries. It provides useful highlighting and completion for JPQL keywords, object, and property names.

Make sure that persistence.xml contains the necessary information for the persistence unit to be able to run JPQL queries from the corresponding JPA console: the persistence provider, a list of persistent classes, and connection properties. For example, in the case of EclipseLink and MySQL, it could be similar to the following:

<persistence-unit name="NewPersistenceUnit"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <class>com.example.MyApp.models.ProductsEntity</class> ... <properties> <property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/database"/> <property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="eclipselink.jdbc.user" value="root"/> <property name="eclipselink.jdbc.password" value="root"/> </properties> </persistence-unit>

Open the JPA console

Do any of the following:

  1. In the Persistence tool window, right-click a persistence unit or entity and select JPA Console. Alternatively, you can click The Console button in the toolbar or press Ctrl+Shift+F10.

  2. Run query methods right from the editor.

The JPA console input pane opens as a separate tab where you can write and execute JPQL queries.

The JPA console toolbar contains the following buttons:

Execute Query

Ctrl+Enter

Run the current query.

Generate Script

Generate an SQL statement or a DDL script.

  • Ctrl+Shift+Enter Generate SQL: Generate an SQL equivalent of the current JPQL statement.

  • Ctrl+Alt+Shift+Enter Generate DDL: Generate the corresponding CREATE TABLE, ALTER TABLE, and DROP TABLE statements for all the objects (classes) associated with the current persistence unit.

Open Database Settings

Open the Database | Query execution page of the Settings dialog Ctrl+Alt+S.

View Parameters

Open the Parameters pane to see the parameters used in your queries and set their values.

Browse Query History

Ctrl+Alt+E

Open the console history dialog that shows all the queries that you have run in this console.

Restore Default Layout

Restore the original tool window layout after layout changes.

Select Properties Source

Select the source for properties (available if a persistence unit is configured outside of persistence.xml).

Terminate Process

Ctrl+F2

Terminate the current console session.

Close

Ctrl+Shift+F4

Close the current console.

Run JPQL queries

After you write a query, do one of the following:

  • Press Ctrl+Enter.

  • Click The Execute Query button in the toolbar.

When you execute a query with parameters, you will need to enter their values. Alternatively, click The View Parameters button to open the Parameters pane.

IntelliJ IDEA stores all queries that you execute. Press Up to see the previously executed commands, starting from the most recent one. To see the full history, click The Browse Query History button.

Run Spring Data query methods from the editor

With IntelliJ IDEA, you can run your Spring Data repository query methods right from the editor. This lets you verify a method's query without running the application. You can run:

  • Derived query methods in Spring Data JPA repositories: IntelliJ IDEA parses the method name, derives a query from it, and runs it in the JPA console.

  • Methods annotated with @Query and @NamedQuery with an explicit JPQL query to execute.

  • Methods annotated with @NamedNativeQuery and methods annotated with @Query and the nativeQuery = true attribute — to run a native SQL query.

  1. Open your repository source code.

  2. In the gutter, click (Run query in console) next to a query method.

  3. If a method has parameters, enter their values in the Parameters dialog that opens, press Enter, and click Execute.

Convert Spring Data JPA method to JPQL

You can check the resulting query in the JPA Console tool window, which opens automatically when you run the method. For native SQL queries, the corresponding database session opens in the Services tool window. The output of the query is displayed in the Result tab of the tool window.

When composing a query, it is useful to look at the declaration of the corresponding class or field.

  • Hold Ctrl and click the relevant object or property.

  • Place the caret at the name of the relevant object or property and press Ctrl+B or select Navigate | Go to Declaration from the main menu.

Run the JPA console with custom JVM options

The JPA console is a Java process. If necessary, you can start it with custom JVM options:

  1. Create an Application run configuration

    Go to Run | Edit Configurations, click the Add button, and select Application.

  2. In the VM options field, specify the options that you want to pass to the JVM when it starts. The rest of the run configuration settings don't matter, and you don't need to specify them.

    Click OK to save the run configuration.

  3. When you open the JPA console, IntelliJ IDEA will display an additional VM and Env Configuration popup with the available run configurations. Select the one with the necessary JVM options or run with the default settings.

Last modified: 11 October 2024