Register Login

JPA Interview Questions and Answers

Updated May 09, 2019

What is JPA and what does JPA stand for?

JPA stands for Java Persistence API is an application programming interface is used to determine the objects that have to be persisted and the method for handling their persistence in Java applications. It provides a set of tool that can be implemented by other frameworks.

What are the advantages of JPA?

The advantages of JPA are as follows:

  • As the ObjectDB is built to support the JPA, the application development process is enhanced.
  • If no proprietary features are being used the JPA implementation can be switched easily.
  • As the code for mapping the database tables and the domain models are written once and used for other operations, it increases the developer’s productivity.
  • It is database independent as on top of SQL, JPA provides an independent abstraction layer.

What is a JPA repository?

A JPA repository is a collection of methods for increasing program functionality. The most common repository for JPA is the Spring Data JPA that helps in decreasing the amount of boilerplate code.

What is Entitymanager in JPA?

JPA EntityManager is used by developers to access a specific application database. It is also used to tackle persistent instances of entities, to use primary key identity to locate other entities and to perform queries over different entities. It has a number of methods namely flush, removes, persists, finds, clear, unwraps, contains, detach and refresh.

How to validate username and password using JPA?

The Hibernate Validator is the best option for validating the username and password through JPA. For this, a complete application has to be developed where the user provides the username and password, which gets validated. Spring Boot needs to be applied as the Java Framework.

 What is the persistence context in JPA?

A persistence context is a collection of entities such that there exists a unique entity instance for any persistent identity. Here the EntityManager handles the lifecycle of the entities so the datastore resources can be accessed. When this context ends, the entities managed earlier to get detached.

What is named query and how to use named query in JPA?

A named query is a query that has already been defined and gets associated with an entity that managed by a container. During runtime, the EntityManager can be executed, configure and gather named queries. It is actually a query that contains an unchangeable query string. The code organization can be improved by using these named queries.

How to add JPA plugin in Eclipse?

Steps to add a JPA plugin in Eclipse are as follows:

  • In the Eclipse IDE, create a new dynamic project.
  • The EclipseLink jar files have to be installed.
  • Go to the dynamic project and click on Project Facets.
  • Select the JPA option and choose the JPA version 2.1.
  • In the JPA dialogue box that appears, select the libraries required to run JPA.

How to write a custom query in JPA?

Custom queries can be written through Spring Data JPA. The following steps have to be taken:

  • The query method has to be added to the repository interface.
  • Next, the method has to be annotated using the Query annotation. For the value of the annotation’s value attribute, the query that has been invoked needs to be specified.
  • The nativeQuery attribute has to be set to true.

What is a typed query in JPA?

The typed query is a new interface introduced in JPA 2. The Query interface is extended by the TypedQuery Interface. The interface is used when a specific result type is required. TypedQuery also helps the developers to execute the queries safely. The queries that have been created with the help of an EntityManager act as a factory for the TypedQuery interface

What is pagination in JPA?

Pagination is the process of displaying or returning a specific number of pages among a huge dataset, which can be a subset of the data. This is usually applied when a small portion of the data has to be displayed to the user, like on a web page of an online store.

How to save UUIDs using JPA?

UUIDs are used for copying and transferring records from one place to another and to regenerate keys. In JPA, the most common way to use primary keys is through the GeneratedValue annotation where the strategy attribute is set to TABLE, SEQUENCE, AUTO, and IDENTITY.

What is a JPA provider?

In JPA, there are no implementation classes only a set of interfaces. A JPA provider helps in this regard to implement the specifications. The most popular JPA providers are EclipseLink and Hibernate.

What is JPA remove?

To delete an object from a database, at first it has to be retrieved. It can then deleted using the remove() method in an active transaction. In this case, the object is deleted from the database when the transaction occurs. This method is called explicit remove.

Other methods for removing objects are cascading remove, using DELETE queries and Orphan Removal method.  


×